<html>
<head><meta charset="UTF-8" /><script>
var $gwt_version = "2.6.0";
var $wnd = parent;
var $doc = $wnd.document;
var $moduleName, $moduleBase;
var $strongName = '69A4AC51D5F70E9C2826D24BD196AAE6';
var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null,
$sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;
$stats && $stats({moduleName:'marshabitatconfigurationsystem',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});
</script></head>
<body>
<script><!--
var _, seedTable = {}, Q$Object = 0, Q$String = 1, Q$AnimationScheduler$AnimationHandle = 2, Q$AnimationSchedulerImplTimer$AnimationHandleImpl = 3, Q$AnimationSchedulerImplTimer$AnimationHandleImpl_$1 = 4, Q$AriaAttributeType = 5, Q$Id = 6, Q$JavaScriptException = 7, Q$Style$Display = 8, Q$Style$HasCssName = 9, Q$Style$Overflow = 10, Q$Style$Position = 11, Q$Style$TextAlign = 12, Q$Style$Unit = 13, Q$Style$Visibility = 14, Q$BlurHandler = 15, Q$ClickHandler = 16, Q$DomEvent$Type = 17, Q$CloseHandler = 18, Q$HasAttachHandlers = 19, Q$ResizeHandler = 20, Q$ValueChangeHandler = 21, Q$EventHandler = 22, Q$HasHandlers = 23, Q$RequestException = 24, Q$HasDirection$Direction = 25, Q$JSONArray = 26, Q$JSONNumber = 27, Q$JSONObject = 28, Q$JSONString = 29, Q$LongLibBase$LongEmul = 30, Q$Layout$Layer = 31, Q$SafeStyles = 32, Q$SafeStylesString = 33, Q$SafeHtml = 34, Q$SafeUri = 35, Q$SafeUriString = 36, Q$Event$NativePreviewHandler = 37, Q$EventListener = 38, Q$HasVisibility = 39, Q$HasWidgets = 40, Q$IsWidget = 41, Q$MenuItem = 42, Q$PopupPanel = 43, Q$RequiresResize = 44, Q$RootPanel = 45, Q$TabLayoutPanel$Tab = 46, Q$UIObject = 47, Q$ValueBoxBase$TextAlignment = 48, Q$Widget = 49, Q$SimpleEventBus$Command = 50, Q$UmbrellaException = 51, Q$Serializable = 52, Q$Serializable_$1 = 53, Q$Boolean = 54, Q$CharSequence = 55, Q$Comparable = 56, Q$Comparable_$1 = 57, Q$Double = 58, Q$Enum = 59, Q$Enum_$1 = 60, Q$IllegalArgumentException = 61, Q$IndexOutOfBoundsException = 62, Q$Integer = 63, Q$Number = 64, Q$Object_$1 = 65, Q$StackTraceElement = 66, Q$Throwable = 67, Q$List = 68, Q$Map = 69, Q$Map$Entry = 70, Q$Set = 71, Q$AddEventHandler = 72, Q$Module = 73, Q$Module$Type = 74, Q$Module$Type_$1 = 75, Q$ModuleConfiguration$Coordinates = 76, CM$ = {};
function newSeed(id_0){
  return new seedTable[id_0];
}

function defineSeed(id_0, superSeed, castableTypeMap){
  var seed = seedTable[id_0];
  if (seed && !seed.___clazz$) {
    _ = seed.prototype;
  }
   else {
    !seed && (seed = seedTable[id_0] = function(){
    }
    );
    _ = seed.prototype = superSeed < 0?{}:newSeed(superSeed);
    _.castableTypeMap$ = castableTypeMap;
  }
  for (var i = 3; i < arguments.length; ++i) {
    arguments[i].prototype = _;
  }
  if (seed.___clazz$) {
    _.___clazz$ = seed.___clazz$;
    seed.___clazz$ = null;
  }
}

function makeCastMap(a){
  var result = {};
  for (var i = 0, c = a.length; i < c; ++i) {
    result[a[i]] = 1;
  }
  return result;
}

function nullMethod(){
}

function Object_1(){
}

defineSeed(1, -1, CM$, Object_1);
_.equals$ = function equals(other){
  return this === other;
}
;
_.getClass$ = function getClass_0(){
  return this.___clazz$;
}
;
_.hashCode$ = function hashCode_0(){
  return getHashCode(this);
}
;
_.toString$ = function toString_0(){
  return this.___clazz$.typeName + '@' + toPowerOfTwoString(this.hashCode$());
}
;
_.toString = function(){
  return this.toString$();
}
;
_.typeMarker$ = nullMethod;
function $cancel(this$static){
  if (!this$static.isRunning) {
    return;
  }
  this$static.wasStarted = this$static.isStarted;
  this$static.isRunning = false;
  this$static.isStarted = false;
  if (this$static.requestHandle) {
    $cancel_1(this$static.requestHandle);
    this$static.requestHandle = null;
  }
  this$static.onCancel();
}

function $run(this$static, duration, startTime){
  $cancel(this$static);
  this$static.isRunning = true;
  this$static.isStarted = false;
  this$static.duration = duration;
  this$static.startTime = startTime;
  ++this$static.runId;
  $execute(this$static.callback, currentTimeMillis());
}

function $update(this$static, curTime){
  var curRunId, finished, progress;
  curRunId = this$static.runId;
  finished = curTime >= this$static.startTime + this$static.duration;
  if (this$static.isStarted && !finished) {
    progress = (curTime - this$static.startTime) / this$static.duration;
    this$static.onUpdate((1 + Math.cos(3.141592653589793 + progress * 3.141592653589793)) / 2);
    return this$static.isRunning && this$static.runId == curRunId;
  }
  if (!this$static.isStarted && curTime >= this$static.startTime) {
    this$static.isStarted = true;
    this$static.onStart();
    if (!(this$static.isRunning && this$static.runId == curRunId)) {
      return false;
    }
  }
  if (finished) {
    this$static.isRunning = false;
    this$static.isStarted = false;
    this$static.onComplete();
    return false;
  }
  return true;
}

function Animation_0(){
  Animation_1.call(this, ($clinit_AnimationSchedulerImpl() , INSTANCE));
}

function Animation_1(scheduler){
  this.callback = new Animation$1_0(this);
  this.scheduler = scheduler;
}

defineSeed(3, 1, {});
_.onCancel = function onCancel(){
  this.wasStarted && this.onComplete();
}
;
_.onComplete = function onComplete(){
  this.onUpdate((1 + cos_0(6.283185307179586)) / 2);
}
;
_.onStart = function onStart(){
  this.onUpdate((1 + cos_0(3.141592653589793)) / 2);
}
;
_.duration = -1;
_.isRunning = false;
_.isStarted = false;
_.runId = -1;
_.startTime = -1;
_.wasStarted = false;
function $execute(this$static, timestamp){
  $update(this$static.this$0, timestamp)?(this$static.this$0.requestHandle = $requestAnimationFrame(this$static.this$0.scheduler, this$static.this$0.callback)):(this$static.this$0.requestHandle = null);
}

function Animation$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(4, 1, {}, Animation$1_0);
defineSeed(5, 1, {});
defineSeed(6, 1, makeCastMap([Q$AnimationScheduler$AnimationHandle]));
function $clinit_AnimationSchedulerImpl(){
  $clinit_AnimationSchedulerImpl = nullMethod;
  var impl;
  impl = new AnimationSchedulerImplTimer_0;
  INSTANCE = impl;
}

defineSeed(7, 5, {});
var INSTANCE;
function $cancelAnimationFrame(this$static, requestId){
  $remove_14(this$static.animationRequests, requestId);
  this$static.animationRequests.size_0 == 0 && $cancel_0(this$static.timer);
}

function $requestAnimationFrame(this$static, callback){
  var requestId;
  requestId = new AnimationSchedulerImplTimer$AnimationHandleImpl_0(this$static, callback);
  $add_7(this$static.animationRequests, requestId);
  this$static.animationRequests.size_0 == 1 && $schedule(this$static.timer, 16);
  return requestId;
}

function $updateAnimations(this$static){
  var curAnimations, duration, requestId, requestId$index, requestId$max;
  curAnimations = initDim(_3Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit, makeCastMap([Q$AnimationSchedulerImplTimer$AnimationHandleImpl_$1, Q$Serializable, Q$Object_$1]), Q$AnimationSchedulerImplTimer$AnimationHandleImpl, this$static.animationRequests.size_0, 0);
  curAnimations = dynamicCast($toArray(this$static.animationRequests, curAnimations), Q$AnimationSchedulerImplTimer$AnimationHandleImpl_$1);
  duration = new Duration_0;
  for (requestId$index = 0 , requestId$max = curAnimations.length; requestId$index < requestId$max; ++requestId$index) {
    requestId = curAnimations[requestId$index];
    $remove_14(this$static.animationRequests, requestId);
    $execute(requestId.callback, duration.start_0);
  }
  this$static.animationRequests.size_0 > 0 && $schedule(this$static.timer, max_0(16 - (currentTimeMillis() - duration.start_0)));
}

function AnimationSchedulerImplTimer_0(){
  this.animationRequests = new ArrayList_0;
  this.timer = new AnimationSchedulerImplTimer$1_0(this);
}

defineSeed(8, 7, {}, AnimationSchedulerImplTimer_0);
function $cancel_0(this$static){
  if (!this$static.timerId) {
    return;
  }
  ++this$static.cancelCounter;
  this$static.isRepeating?clearInterval0(this$static.timerId.value_0):clearTimeout0(this$static.timerId.value_0);
  this$static.timerId = null;
}

function $schedule(this$static, delayMillis){
  if (delayMillis < 0) {
    throw new IllegalArgumentException_1('must be non-negative');
  }
  !!this$static.timerId && $cancel_0(this$static);
  this$static.isRepeating = false;
  this$static.timerId = valueOf(setTimeout0(createCallback(this$static, this$static.cancelCounter), delayMillis, null));
}

function Timer_0(){
}

function createCallback(timer, cancelCounter){
  return $entry(function(){
    timer.fire(cancelCounter);
  }
  );
}

defineSeed(10, 1, {});
_.fire = function fire(scheduleCancelCounter){
  if (scheduleCancelCounter != this.cancelCounter) {
    return;
  }
  this.isRepeating || (this.timerId = null);
  this.run();
}
;
_.cancelCounter = 0;
_.isRepeating = false;
_.timerId = null;
function AnimationSchedulerImplTimer$1_0(this$0){
  this.this$0 = this$0;
  Timer_0.call(this);
}

defineSeed(9, 10, {}, AnimationSchedulerImplTimer$1_0);
_.run = function run(){
  $updateAnimations(this.this$0);
}
;
function $cancel_1(this$static){
  $cancelAnimationFrame(this$static.this$0, this$static);
}

function AnimationSchedulerImplTimer$AnimationHandleImpl_0(this$0, callback){
  this.this$0 = this$0;
  this.callback = callback;
}

defineSeed(11, 6, makeCastMap([Q$AnimationScheduler$AnimationHandle, Q$AnimationSchedulerImplTimer$AnimationHandleImpl]), AnimationSchedulerImplTimer$AnimationHandleImpl_0);
function $set(this$static, element){
  $setAttribute(element, 'role', this$static.roleName);
}

function $setAriaHaspopupProperty(element, value_0){
  $set_0(($clinit_Property() , HASPOPUP), element, initValues(_3Ljava_lang_Boolean_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Object_$1]), Q$Boolean, [($clinit_Boolean() , value_0?TRUE_0:FALSE_0)]));
}

function RoleImpl_0(roleName){
  this.roleName = roleName;
}

defineSeed(13, 1, {});
function AlertRoleImpl_0(){
  RoleImpl_0.call(this, 'alert');
}

defineSeed(12, 13, {}, AlertRoleImpl_0);
function AlertdialogRoleImpl_0(){
  RoleImpl_0.call(this, 'alertdialog');
}

defineSeed(14, 13, {}, AlertdialogRoleImpl_0);
function ApplicationRoleImpl_0(){
  RoleImpl_0.call(this, 'application');
}

defineSeed(15, 13, {}, ApplicationRoleImpl_0);
function $getAriaValue(this$static, value_0){
  var buf, item_0, item$index, item$max;
  buf = new StringBuffer_0;
  for (item$index = 0 , item$max = value_0.length; item$index < item$max; ++item$index) {
    item_0 = value_0[item$index];
    $append_3($append_3(buf, this$static.getSingleValue(item_0)), ' ');
  }
  return $trim(buf.impl.string);
}

function $set_0(this$static, element, values){
  $setAttribute(element, this$static.name_0, $getAriaValue(this$static, values));
}

function Attribute_0(name_0){
  this.name_0 = name_0;
}

defineSeed(17, 1, {});
function AriaValueAttribute_0(name_0){
  Attribute_0.call(this, name_0);
}

defineSeed(16, 17, {}, AriaValueAttribute_0);
_.getSingleValue = function getSingleValue(value_0){
  return dynamicCast(dynamicCast(value_0, Q$AriaAttributeType), Q$Id).id_0;
}
;
function ArticleRoleImpl_0(){
  RoleImpl_0.call(this, 'article');
}

defineSeed(18, 13, {}, ArticleRoleImpl_0);
function BannerRoleImpl_0(){
  RoleImpl_0.call(this, 'banner');
}

defineSeed(19, 13, {}, BannerRoleImpl_0);
function ButtonRoleImpl_0(){
  RoleImpl_0.call(this, 'button');
}

defineSeed(20, 13, {}, ButtonRoleImpl_0);
function CheckboxRoleImpl_0(){
  RoleImpl_0.call(this, 'checkbox');
}

defineSeed(21, 13, {}, CheckboxRoleImpl_0);
function ColumnheaderRoleImpl_0(){
  RoleImpl_0.call(this, 'columnheader');
}

defineSeed(22, 13, {}, ColumnheaderRoleImpl_0);
function ComboboxRoleImpl_0(){
  RoleImpl_0.call(this, 'combobox');
}

defineSeed(23, 13, {}, ComboboxRoleImpl_0);
function ComplementaryRoleImpl_0(){
  RoleImpl_0.call(this, 'complementary');
}

defineSeed(24, 13, {}, ComplementaryRoleImpl_0);
function ContentinfoRoleImpl_0(){
  RoleImpl_0.call(this, 'contentinfo');
}

defineSeed(25, 13, {}, ContentinfoRoleImpl_0);
function DefinitionRoleImpl_0(){
  RoleImpl_0.call(this, 'definition');
}

defineSeed(26, 13, {}, DefinitionRoleImpl_0);
function DialogRoleImpl_0(){
  RoleImpl_0.call(this, 'dialog');
}

defineSeed(27, 13, {}, DialogRoleImpl_0);
function DirectoryRoleImpl_0(){
  RoleImpl_0.call(this, 'directory');
}

defineSeed(28, 13, {}, DirectoryRoleImpl_0);
function DocumentRoleImpl_0(){
  RoleImpl_0.call(this, 'document');
}

defineSeed(29, 13, {}, DocumentRoleImpl_0);
function FormRoleImpl_0(){
  RoleImpl_0.call(this, 'form');
}

defineSeed(30, 13, {}, FormRoleImpl_0);
function GridRoleImpl_0(){
  RoleImpl_0.call(this, 'grid');
}

defineSeed(31, 13, {}, GridRoleImpl_0);
function GridcellRoleImpl_0(){
  RoleImpl_0.call(this, 'gridcell');
}

defineSeed(32, 13, {}, GridcellRoleImpl_0);
function GroupRoleImpl_0(){
  RoleImpl_0.call(this, 'group');
}

defineSeed(33, 13, {}, GroupRoleImpl_0);
function HeadingRoleImpl_0(){
  RoleImpl_0.call(this, 'heading');
}

defineSeed(34, 13, {}, HeadingRoleImpl_0);
function $init(this$static, elementId){
  this$static.id_0 = elementId;
}

function Id_0(element){
  $init(this, element.id);
}

defineSeed(35, 1, makeCastMap([Q$AriaAttributeType, Q$Id]), Id_0);
function ImgRoleImpl_0(){
  RoleImpl_0.call(this, 'img');
}

defineSeed(36, 13, {}, ImgRoleImpl_0);
function LinkRoleImpl_0(){
  RoleImpl_0.call(this, 'link');
}

defineSeed(37, 13, {}, LinkRoleImpl_0);
function ListRoleImpl_0(){
  RoleImpl_0.call(this, 'list');
}

defineSeed(38, 13, {}, ListRoleImpl_0);
function ListboxRoleImpl_0(){
  RoleImpl_0.call(this, 'listbox');
}

defineSeed(39, 13, {}, ListboxRoleImpl_0);
function ListitemRoleImpl_0(){
  RoleImpl_0.call(this, 'listitem');
}

defineSeed(40, 13, {}, ListitemRoleImpl_0);
function LogRoleImpl_0(){
  RoleImpl_0.call(this, 'log');
}

defineSeed(41, 13, {}, LogRoleImpl_0);
function MainRoleImpl_0(){
  RoleImpl_0.call(this, 'main');
}

defineSeed(42, 13, {}, MainRoleImpl_0);
function MarqueeRoleImpl_0(){
  RoleImpl_0.call(this, 'marquee');
}

defineSeed(43, 13, {}, MarqueeRoleImpl_0);
function MathRoleImpl_0(){
  RoleImpl_0.call(this, 'math');
}

defineSeed(44, 13, {}, MathRoleImpl_0);
function MenuRoleImpl_0(){
  RoleImpl_0.call(this, 'menu');
}

defineSeed(45, 13, {}, MenuRoleImpl_0);
function $setAriaActivedescendantProperty(element, value_0){
  $set_0(($clinit_Property() , ACTIVEDESCENDANT), element, initValues(_3Lcom_google_gwt_aria_client_Id_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Id, [value_0]));
}

function MenubarRoleImpl_0(){
  RoleImpl_0.call(this, 'menubar');
}

defineSeed(46, 13, {}, MenubarRoleImpl_0);
function MenuitemRoleImpl_0(){
  RoleImpl_0.call(this, 'menuitem');
}

defineSeed(47, 13, {}, MenuitemRoleImpl_0);
function MenuitemcheckboxRoleImpl_0(){
  RoleImpl_0.call(this, 'menuitemcheckbox');
}

defineSeed(48, 13, {}, MenuitemcheckboxRoleImpl_0);
function MenuitemradioRoleImpl_0(){
  RoleImpl_0.call(this, 'menuitemradio');
}

defineSeed(49, 13, {}, MenuitemradioRoleImpl_0);
function NavigationRoleImpl_0(){
  RoleImpl_0.call(this, 'navigation');
}

defineSeed(50, 13, {}, NavigationRoleImpl_0);
function NoteRoleImpl_0(){
  RoleImpl_0.call(this, 'note');
}

defineSeed(51, 13, {}, NoteRoleImpl_0);
function OptionRoleImpl_0(){
  RoleImpl_0.call(this, 'option');
}

defineSeed(52, 13, {}, OptionRoleImpl_0);
function PresentationRoleImpl_0(){
  RoleImpl_0.call(this, 'presentation');
}

defineSeed(53, 13, {}, PresentationRoleImpl_0);
function PrimitiveValueAttribute_0(name_0){
  Attribute_0.call(this, name_0);
}

defineSeed(54, 17, {}, PrimitiveValueAttribute_0);
_.getSingleValue = function getSingleValue_0(value_0){
  return '' + value_0;
}
;
function ProgressbarRoleImpl_0(){
  RoleImpl_0.call(this, 'progressbar');
}

defineSeed(55, 13, {}, ProgressbarRoleImpl_0);
function $clinit_Property(){
  $clinit_Property = nullMethod;
  ACTIVEDESCENDANT = new AriaValueAttribute_0('aria-activedescendant');
  new PrimitiveValueAttribute_0('aria-atomic');
  new AriaValueAttribute_0('aria-autocomplete');
  new AriaValueAttribute_0('aria-controls');
  new AriaValueAttribute_0('aria-describedby');
  new AriaValueAttribute_0('aria-dropeffect');
  new AriaValueAttribute_0('aria-flowto');
  HASPOPUP = new PrimitiveValueAttribute_0('aria-haspopup');
  new PrimitiveValueAttribute_0('aria-label');
  new AriaValueAttribute_0('aria-labelledby');
  new PrimitiveValueAttribute_0('aria-level');
  new AriaValueAttribute_0('aria-live');
  new PrimitiveValueAttribute_0('aria-multiline');
  new PrimitiveValueAttribute_0('aria-multiselectable');
  new AriaValueAttribute_0('aria-orientation');
  new AriaValueAttribute_0('aria-owns');
  new PrimitiveValueAttribute_0('aria-posinset');
  new PrimitiveValueAttribute_0('aria-readonly');
  new AriaValueAttribute_0('aria-relevant');
  new PrimitiveValueAttribute_0('aria-required');
  new PrimitiveValueAttribute_0('aria-setsize');
  new AriaValueAttribute_0('aria-sort');
  new PrimitiveValueAttribute_0('aria-valuemax');
  new PrimitiveValueAttribute_0('aria-valuemin');
  new PrimitiveValueAttribute_0('aria-valuenow');
  new PrimitiveValueAttribute_0('aria-valuetext');
}

var ACTIVEDESCENDANT, HASPOPUP;
function RadioRoleImpl_0(){
  RoleImpl_0.call(this, 'radio');
}

defineSeed(57, 13, {}, RadioRoleImpl_0);
function RadiogroupRoleImpl_0(){
  RoleImpl_0.call(this, 'radiogroup');
}

defineSeed(58, 13, {}, RadiogroupRoleImpl_0);
function RegionRoleImpl_0(){
  RoleImpl_0.call(this, 'region');
}

defineSeed(59, 13, {}, RegionRoleImpl_0);
function $clinit_Roles(){
  $clinit_Roles = nullMethod;
  ALERTDIALOG = new AlertdialogRoleImpl_0;
  ALERT = new AlertRoleImpl_0;
  APPLICATION = new ApplicationRoleImpl_0;
  ARTICLE = new ArticleRoleImpl_0;
  BANNER = new BannerRoleImpl_0;
  BUTTON = new ButtonRoleImpl_0;
  CHECKBOX = new CheckboxRoleImpl_0;
  COLUMNHEADER = new ColumnheaderRoleImpl_0;
  COMBOBOX = new ComboboxRoleImpl_0;
  COMPLEMENTARY = new ComplementaryRoleImpl_0;
  CONTENTINFO = new ContentinfoRoleImpl_0;
  DEFINITION = new DefinitionRoleImpl_0;
  DIALOG = new DialogRoleImpl_0;
  DIRECTORY = new DirectoryRoleImpl_0;
  DOCUMENT = new DocumentRoleImpl_0;
  FORM = new FormRoleImpl_0;
  GRIDCELL = new GridcellRoleImpl_0;
  GRID = new GridRoleImpl_0;
  GROUP = new GroupRoleImpl_0;
  HEADING = new HeadingRoleImpl_0;
  IMG = new ImgRoleImpl_0;
  LINK = new LinkRoleImpl_0;
  LISTBOX = new ListboxRoleImpl_0;
  LISTITEM = new ListitemRoleImpl_0;
  LIST = new ListRoleImpl_0;
  LOG = new LogRoleImpl_0;
  MAIN = new MainRoleImpl_0;
  MARQUEE = new MarqueeRoleImpl_0;
  MATH = new MathRoleImpl_0;
  MENUBAR = new MenubarRoleImpl_0;
  MENUITEMCHECKBOX = new MenuitemcheckboxRoleImpl_0;
  MENUITEMRADIO = new MenuitemradioRoleImpl_0;
  MENUITEM = new MenuitemRoleImpl_0;
  MENU = new MenuRoleImpl_0;
  NAVIGATION = new NavigationRoleImpl_0;
  NOTE = new NoteRoleImpl_0;
  OPTION = new OptionRoleImpl_0;
  PRESENTATION = new PresentationRoleImpl_0;
  PROGRESSBAR = new ProgressbarRoleImpl_0;
  RADIOGROUP = new RadiogroupRoleImpl_0;
  RADIO = new RadioRoleImpl_0;
  REGION = new RegionRoleImpl_0;
  ROWGROUP = new RowgroupRoleImpl_0;
  ROWHEADER = new RowheaderRoleImpl_0;
  ROW = new RowRoleImpl_0;
  SCROLLBAR = new ScrollbarRoleImpl_0;
  SEARCH = new SearchRoleImpl_0;
  SEPARATOR = new SeparatorRoleImpl_0;
  SLIDER = new SliderRoleImpl_0;
  SPINBUTTON = new SpinbuttonRoleImpl_0;
  STATUS = new StatusRoleImpl_0;
  TABLIST = new TablistRoleImpl_0;
  TABPANEL = new TabpanelRoleImpl_0;
  TAB = new TabRoleImpl_0;
  TEXTBOX = new TextboxRoleImpl_0;
  TIMER = new TimerRoleImpl_0;
  TOOLBAR = new ToolbarRoleImpl_0;
  TOOLTIP = new TooltipRoleImpl_0;
  TREEGRID = new TreegridRoleImpl_0;
  TREEITEM = new TreeitemRoleImpl_0;
  TREE = new TreeRoleImpl_0;
  ROLES_MAP = new HashMap_0;
  $put_0(ROLES_MAP, 'region', REGION);
  $put_0(ROLES_MAP, 'alert', ALERT);
  $put_0(ROLES_MAP, 'dialog', DIALOG);
  $put_0(ROLES_MAP, 'alertdialog', ALERTDIALOG);
  $put_0(ROLES_MAP, 'application', APPLICATION);
  $put_0(ROLES_MAP, 'document', DOCUMENT);
  $put_0(ROLES_MAP, 'article', ARTICLE);
  $put_0(ROLES_MAP, 'banner', BANNER);
  $put_0(ROLES_MAP, 'button', BUTTON);
  $put_0(ROLES_MAP, 'checkbox', CHECKBOX);
  $put_0(ROLES_MAP, 'gridcell', GRIDCELL);
  $put_0(ROLES_MAP, 'columnheader', COLUMNHEADER);
  $put_0(ROLES_MAP, 'group', GROUP);
  $put_0(ROLES_MAP, 'combobox', COMBOBOX);
  $put_0(ROLES_MAP, 'complementary', COMPLEMENTARY);
  $put_0(ROLES_MAP, 'contentinfo', CONTENTINFO);
  $put_0(ROLES_MAP, 'definition', DEFINITION);
  $put_0(ROLES_MAP, 'list', LIST);
  $put_0(ROLES_MAP, 'directory', DIRECTORY);
  $put_0(ROLES_MAP, 'form', FORM);
  $put_0(ROLES_MAP, 'grid', GRID);
  $put_0(ROLES_MAP, 'heading', HEADING);
  $put_0(ROLES_MAP, 'img', IMG);
  $put_0(ROLES_MAP, 'link', LINK);
  $put_0(ROLES_MAP, 'listbox', LISTBOX);
  $put_0(ROLES_MAP, 'listitem', LISTITEM);
  $put_0(ROLES_MAP, 'log', LOG);
  $put_0(ROLES_MAP, 'main', MAIN);
  $put_0(ROLES_MAP, 'marquee', MARQUEE);
  $put_0(ROLES_MAP, 'math', MATH);
  $put_0(ROLES_MAP, 'menu', MENU);
  $put_0(ROLES_MAP, 'menubar', MENUBAR);
  $put_0(ROLES_MAP, 'menuitem', MENUITEM);
  $put_0(ROLES_MAP, 'menuitemcheckbox', MENUITEMCHECKBOX);
  $put_0(ROLES_MAP, 'option', OPTION);
  $put_0(ROLES_MAP, 'radio', RADIO);
  $put_0(ROLES_MAP, 'menuitemradio', MENUITEMRADIO);
  $put_0(ROLES_MAP, 'navigation', NAVIGATION);
  $put_0(ROLES_MAP, 'note', NOTE);
  $put_0(ROLES_MAP, 'presentation', PRESENTATION);
  $put_0(ROLES_MAP, 'progressbar', PROGRESSBAR);
  $put_0(ROLES_MAP, 'radiogroup', RADIOGROUP);
  $put_0(ROLES_MAP, 'row', ROW);
  $put_0(ROLES_MAP, 'rowgroup', ROWGROUP);
  $put_0(ROLES_MAP, 'rowheader', ROWHEADER);
  $put_0(ROLES_MAP, 'search', SEARCH);
  $put_0(ROLES_MAP, 'separator', SEPARATOR);
  $put_0(ROLES_MAP, 'scrollbar', SCROLLBAR);
  $put_0(ROLES_MAP, 'slider', SLIDER);
  $put_0(ROLES_MAP, 'spinbutton', SPINBUTTON);
  $put_0(ROLES_MAP, 'status', STATUS);
  $put_0(ROLES_MAP, 'tab', TAB);
  $put_0(ROLES_MAP, 'tablist', TABLIST);
  $put_0(ROLES_MAP, 'tabpanel', TABPANEL);
  $put_0(ROLES_MAP, 'textbox', TEXTBOX);
  $put_0(ROLES_MAP, 'timer', TIMER);
  $put_0(ROLES_MAP, 'toolbar', TOOLBAR);
  $put_0(ROLES_MAP, 'tooltip', TOOLTIP);
  $put_0(ROLES_MAP, 'tree', TREE);
  $put_0(ROLES_MAP, 'treegrid', TREEGRID);
  $put_0(ROLES_MAP, 'treeitem', TREEITEM);
}

var ALERT, ALERTDIALOG, APPLICATION, ARTICLE, BANNER, BUTTON, CHECKBOX, COLUMNHEADER, COMBOBOX, COMPLEMENTARY, CONTENTINFO, DEFINITION, DIALOG, DIRECTORY, DOCUMENT, FORM, GRID, GRIDCELL, GROUP, HEADING, IMG, LINK, LIST, LISTBOX, LISTITEM, LOG, MAIN, MARQUEE, MATH, MENU, MENUBAR, MENUITEM, MENUITEMCHECKBOX, MENUITEMRADIO, NAVIGATION, NOTE, OPTION, PRESENTATION, PROGRESSBAR, RADIO, RADIOGROUP, REGION, ROLES_MAP, ROW, ROWGROUP, ROWHEADER, SCROLLBAR, SEARCH, SEPARATOR, SLIDER, SPINBUTTON, STATUS, TAB, TABLIST, TABPANEL, TEXTBOX, TIMER, TOOLBAR, TOOLTIP, TREE, TREEGRID, TREEITEM;
function RowRoleImpl_0(){
  RoleImpl_0.call(this, 'row');
}

defineSeed(61, 13, {}, RowRoleImpl_0);
function RowgroupRoleImpl_0(){
  RoleImpl_0.call(this, 'rowgroup');
}

defineSeed(62, 13, {}, RowgroupRoleImpl_0);
function RowheaderRoleImpl_0(){
  RoleImpl_0.call(this, 'rowheader');
}

defineSeed(63, 13, {}, RowheaderRoleImpl_0);
function ScrollbarRoleImpl_0(){
  RoleImpl_0.call(this, 'scrollbar');
}

defineSeed(64, 13, {}, ScrollbarRoleImpl_0);
function SearchRoleImpl_0(){
  RoleImpl_0.call(this, 'search');
}

defineSeed(65, 13, {}, SearchRoleImpl_0);
function SeparatorRoleImpl_0(){
  RoleImpl_0.call(this, 'separator');
}

defineSeed(66, 13, {}, SeparatorRoleImpl_0);
function SliderRoleImpl_0(){
  RoleImpl_0.call(this, 'slider');
}

defineSeed(67, 13, {}, SliderRoleImpl_0);
function SpinbuttonRoleImpl_0(){
  RoleImpl_0.call(this, 'spinbutton');
}

defineSeed(68, 13, {}, SpinbuttonRoleImpl_0);
function $clinit_State(){
  $clinit_State = nullMethod;
  new PrimitiveValueAttribute_0('aria-busy');
  new AriaValueAttribute_0('aria-checked');
  new PrimitiveValueAttribute_0('aria-disabled');
  new AriaValueAttribute_0('aria-expanded');
  new AriaValueAttribute_0('aria-grabbed');
  HIDDEN = new PrimitiveValueAttribute_0('aria-hidden');
  new AriaValueAttribute_0('aria-invalid');
  new AriaValueAttribute_0('aria-pressed');
  new AriaValueAttribute_0('aria-selected');
}

var HIDDEN;
function StatusRoleImpl_0(){
  RoleImpl_0.call(this, 'status');
}

defineSeed(70, 13, {}, StatusRoleImpl_0);
function TabRoleImpl_0(){
  RoleImpl_0.call(this, 'tab');
}

defineSeed(71, 13, {}, TabRoleImpl_0);
function TablistRoleImpl_0(){
  RoleImpl_0.call(this, 'tablist');
}

defineSeed(72, 13, {}, TablistRoleImpl_0);
function TabpanelRoleImpl_0(){
  RoleImpl_0.call(this, 'tabpanel');
}

defineSeed(73, 13, {}, TabpanelRoleImpl_0);
function TextboxRoleImpl_0(){
  RoleImpl_0.call(this, 'textbox');
}

defineSeed(74, 13, {}, TextboxRoleImpl_0);
function TimerRoleImpl_0(){
  RoleImpl_0.call(this, 'timer');
}

defineSeed(75, 13, {}, TimerRoleImpl_0);
function ToolbarRoleImpl_0(){
  RoleImpl_0.call(this, 'toolbar');
}

defineSeed(76, 13, {}, ToolbarRoleImpl_0);
function TooltipRoleImpl_0(){
  RoleImpl_0.call(this, 'tooltip');
}

defineSeed(77, 13, {}, TooltipRoleImpl_0);
function TreeRoleImpl_0(){
  RoleImpl_0.call(this, 'tree');
}

defineSeed(78, 13, {}, TreeRoleImpl_0);
function TreegridRoleImpl_0(){
  RoleImpl_0.call(this, 'treegrid');
}

defineSeed(79, 13, {}, TreegridRoleImpl_0);
function TreeitemRoleImpl_0(){
  RoleImpl_0.call(this, 'treeitem');
}

defineSeed(80, 13, {}, TreeitemRoleImpl_0);
function Duration_0(){
  this.start_0 = currentTimeMillis();
}

function currentTimeMillis(){
  return (new Date).getTime();
}

defineSeed(81, 1, {}, Duration_0);
_.start_0 = 0;
function $initCause(this$static, cause){
  if (this$static.cause) {
    throw new IllegalStateException_1("Can't overwrite cause");
  }
  if (cause == this$static) {
    throw new IllegalArgumentException_1('Self-causation not permitted');
  }
  this$static.cause = cause;
  return this$static;
}

function $setStackTrace(stackTrace){
  var c, copy, i;
  copy = initDim(_3Ljava_lang_StackTraceElement_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Object_$1]), Q$StackTraceElement, stackTrace.length, 0);
  for (i = 0 , c = stackTrace.length; i < c; ++i) {
    if (!stackTrace[i]) {
      throw new NullPointerException_0;
    }
    copy[i] = stackTrace[i];
  }
}

function $toString(this$static){
  var className, msg;
  className = this$static.___clazz$.typeName;
  msg = this$static.getMessage();
  return msg != null?className + ': ' + msg:className;
}

defineSeed(86, 1, makeCastMap([Q$Serializable, Q$Throwable]));
_.getMessage = function getMessage(){
  return this.detailMessage;
}
;
_.toString$ = function toString_1(){
  return $toString(this);
}
;
function Exception_0(message){
  this.detailMessage = message;
  $fillInStackTrace();
}

defineSeed(85, 86, makeCastMap([Q$Serializable, Q$Throwable]));
function RuntimeException_0(){
  $fillInStackTrace();
}

function RuntimeException_1(message){
  Exception_0.call(this, message);
}

function RuntimeException_2(message, cause){
  this.cause = cause;
  this.detailMessage = message;
  $fillInStackTrace();
}

defineSeed(84, 85, makeCastMap([Q$Serializable, Q$Throwable]), RuntimeException_1);
function $clinit_JavaScriptException(){
  $clinit_JavaScriptException = nullMethod;
  NOT_SET = new Object_1;
}

function $ensureInit(this$static){
  var exception, maybeJsoInvocation;
  if (this$static.message_0 == null) {
    exception = this$static.e === NOT_SET?null:this$static.e;
    this$static.name_0 = exception == null?'null':instanceOfJso(exception)?getExceptionName0(dynamicCastJso(exception)):instanceOf(exception, Q$String)?'String':(maybeJsoInvocation = exception , isJavaObject(maybeJsoInvocation)?maybeJsoInvocation.___clazz$:Lcom_google_gwt_core_client_JavaScriptObject_2_classLit).typeName;
    this$static.description = this$static.description + ': ' + (instanceOfJso(exception)?getExceptionDescription0(dynamicCastJso(exception)):exception + '');
    this$static.message_0 = '(' + this$static.name_0 + ') ' + (instanceOfJso(exception)?$getProperties(dynamicCastJso(exception)):'') + this$static.description;
  }
}

function JavaScriptException_0(e){
  $clinit_JavaScriptException();
  RuntimeException_0.call(this);
  this.description = '';
  this.e = e;
  this.description = '';
  $createStackTrace();
}

function getExceptionDescription0(e){
  return e == null?null:e.message;
}

function getExceptionName0(e){
  return e == null?null:e.name;
}

defineSeed(83, 84, makeCastMap([Q$JavaScriptException, Q$Serializable, Q$Throwable]), JavaScriptException_0);
_.getMessage = function getMessage_0(){
  return $ensureInit(this) , this.message_0;
}
;
_.getThrown = function getThrown(){
  return this.e === NOT_SET?null:this.e;
}
;
var NOT_SET;
function equals__devirtual$(this$static, other){
  var maybeJsoInvocation;
  return maybeJsoInvocation = this$static , isJavaObject(maybeJsoInvocation)?maybeJsoInvocation.equals$(other):maybeJsoInvocation === other;
}

function hashCode__devirtual$(this$static){
  var maybeJsoInvocation;
  return maybeJsoInvocation = this$static , isJavaObject(maybeJsoInvocation)?maybeJsoInvocation.hashCode$():getHashCode(maybeJsoInvocation);
}

function $push(this$static, value_0){
  this$static[this$static.length] = value_0;
}

function $push_0(this$static, value_0){
  this$static[this$static.length] = value_0;
}

function $setLength(this$static, newLength){
  this$static.length = newLength;
}

function $clinit_JsonUtils(){
  $clinit_JsonUtils = nullMethod;
  escapeTable = initEscapeTable();
  hasJsonParse = typeof JSON == 'object' && typeof JSON.parse == 'function';
}

function escapeChar(c){
  var lookedUp = escapeTable[c.charCodeAt(0)];
  return lookedUp == null?c:lookedUp;
}

function escapeJsonForEval(toEscape){
  $clinit_JsonUtils();
  var s = toEscape.replace(/[\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb]/g, function(x_0){
    return escapeChar(x_0);
  }
  );
  return s;
}

function escapeValue(toEscape){
  $clinit_JsonUtils();
  var s = toEscape.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g, function(x_0){
    return escapeChar(x_0);
  }
  );
  return '"' + s + '"';
}

--></script>
<script><!--
function initEscapeTable(){
  var out = ['\\u0000', '\\u0001', '\\u0002', '\\u0003', '\\u0004', '\\u0005', '\\u0006', '\\u0007', '\\b', '\\t', '\\n', '\\u000B', '\\f', '\\r', '\\u000E', '\\u000F', '\\u0010', '\\u0011', '\\u0012', '\\u0013', '\\u0014', '\\u0015', '\\u0016', '\\u0017', '\\u0018', '\\u0019', '\\u001A', '\\u001B', '\\u001C', '\\u001D', '\\u001E', '\\u001F'];
  out[34] = '\\"';
  out[92] = '\\\\';
  out[173] = '\\u00ad';
  out[1536] = '\\u0600';
  out[1537] = '\\u0601';
  out[1538] = '\\u0602';
  out[1539] = '\\u0603';
  out[1757] = '\\u06dd';
  out[1807] = '\\u070f';
  out[6068] = '\\u17b4';
  out[6069] = '\\u17b5';
  out[8203] = '\\u200b';
  out[8204] = '\\u200c';
  out[8205] = '\\u200d';
  out[8206] = '\\u200e';
  out[8207] = '\\u200f';
  out[8232] = '\\u2028';
  out[8233] = '\\u2029';
  out[8234] = '\\u202a';
  out[8235] = '\\u202b';
  out[8236] = '\\u202c';
  out[8237] = '\\u202d';
  out[8238] = '\\u202e';
  out[8288] = '\\u2060';
  out[8289] = '\\u2061';
  out[8290] = '\\u2062';
  out[8291] = '\\u2063';
  out[8292] = '\\u2064';
  out[8298] = '\\u206a';
  out[8299] = '\\u206b';
  out[8300] = '\\u206c';
  out[8301] = '\\u206d';
  out[8302] = '\\u206e';
  out[8303] = '\\u206f';
  out[65279] = '\\ufeff';
  out[65529] = '\\ufff9';
  out[65530] = '\\ufffa';
  out[65531] = '\\ufffb';
  return out;
}

var escapeTable, hasJsonParse = false;
defineSeed(91, 1, {});
function apply_0(jsFunction, thisObj, args){
  return jsFunction.apply(thisObj, args);
  var __0;
}

function dispose(d){
  !!d && cleanupDOM(d.this$0);
}

function enter(){
  var now_0;
  if (entryDepth != 0) {
    now_0 = currentTimeMillis();
    if (now_0 - watchdogEntryDepthLastScheduled > 2000) {
      watchdogEntryDepthLastScheduled = now_0;
      watchdogEntryDepthTimerId = watchdogEntryDepthSchedule();
    }
  }
  if (entryDepth++ == 0) {
    $flushEntryCommands(($clinit_SchedulerImpl() , INSTANCE_0));
    return true;
  }
  return false;
}

function entry_0(jsFunction){
  return function(){
    try {
      return entry0(jsFunction, this, arguments);
    }
     catch (e) {
      throw e;
    }
  }
  ;
}

function entry0(jsFunction, thisObj, args){
  var initialEntry;
  initialEntry = enter();
  try {
    return apply_0(jsFunction, thisObj, args);
  }
   finally {
    exit(initialEntry);
  }
}

function exit(initialEntry){
  initialEntry && $flushFinallyCommands(($clinit_SchedulerImpl() , INSTANCE_0));
  --entryDepth;
  if (initialEntry) {
    if (watchdogEntryDepthTimerId != -1) {
      watchdogEntryDepthCancel(watchdogEntryDepthTimerId);
      watchdogEntryDepthTimerId = -1;
    }
  }
}

function getHashCode(o){
  return o.$H || (o.$H = ++sNextHashId);
}

function registerEntry(){
  return entry_0;
}

function reportToBrowser(e){
  $wnd.setTimeout(function(){
    throw e;
  }
  , 0);
}

function setTimeout_0(func, time){
  return setTimeout0(func, time, null);
}

function watchdogEntryDepthCancel(timerId){
  clearTimeout0(timerId);
}

function watchdogEntryDepthSchedule(){
  return setTimeout_0(function(){
    entryDepth != 0 && (entryDepth = 0);
    watchdogEntryDepthTimerId = -1;
  }
  , 10);
}

var entryDepth = 0, sNextHashId = 0, watchdogEntryDepthLastScheduled = 0, watchdogEntryDepthTimerId = -1;
function $clinit_SchedulerImpl(){
  $clinit_SchedulerImpl = nullMethod;
  INSTANCE_0 = new SchedulerImpl_0;
}

function $flushEntryCommands(this$static){
  var oldQueue, rescheduled;
  if (this$static.entryCommands) {
    rescheduled = null;
    do {
      oldQueue = this$static.entryCommands;
      this$static.entryCommands = null;
      rescheduled = runScheduledTasks(oldQueue, rescheduled);
    }
     while (this$static.entryCommands);
    this$static.entryCommands = rescheduled;
  }
}

function $flushFinallyCommands(this$static){
  var oldQueue, rescheduled;
  if (this$static.finallyCommands) {
    rescheduled = null;
    do {
      oldQueue = this$static.finallyCommands;
      this$static.finallyCommands = null;
      rescheduled = runScheduledTasks(oldQueue, rescheduled);
    }
     while (this$static.finallyCommands);
    this$static.finallyCommands = rescheduled;
  }
}

function $flushPostEventPumpCommands(this$static){
  var oldDeferred;
  if (this$static.deferredCommands) {
    oldDeferred = this$static.deferredCommands;
    this$static.deferredCommands = null;
    !this$static.incrementalCommands && (this$static.incrementalCommands = []);
    runScheduledTasks(oldDeferred, this$static.incrementalCommands);
  }
  !!this$static.incrementalCommands && (this$static.incrementalCommands = $runRepeatingTasks(this$static.incrementalCommands));
}

function $isWorkQueued(this$static){
  return !!this$static.deferredCommands || !!this$static.incrementalCommands;
}

function $maybeSchedulePostEventPumpCommands(this$static){
  if (!this$static.shouldBeRunning) {
    this$static.shouldBeRunning = true;
    !this$static.flusher && (this$static.flusher = new SchedulerImpl$Flusher_0(this$static));
    scheduleFixedDelayImpl(this$static.flusher, 1);
    !this$static.rescue && (this$static.rescue = new SchedulerImpl$Rescuer_0(this$static));
    scheduleFixedDelayImpl(this$static.rescue, 50);
  }
}

function $runRepeatingTasks(tasks){
  var canceledSomeTasks, duration, executedSomeTask, i, length_0, newTasks, t;
  length_0 = tasks.length;
  if (length_0 == 0) {
    return null;
  }
  canceledSomeTasks = false;
  duration = new Duration_0;
  while (currentTimeMillis() - duration.start_0 < 100) {
    executedSomeTask = false;
    for (i = 0; i < length_0; i++) {
      t = tasks[i];
      if (!t) {
        continue;
      }
      executedSomeTask = true;
      if (!t[0].execute()) {
        tasks[i] = null;
        canceledSomeTasks = true;
      }
    }
    if (!executedSomeTask) {
      break;
    }
  }
  if (canceledSomeTasks) {
    newTasks = [];
    for (i = 0; i < length_0; i++) {
      !!tasks[i] && $push(newTasks, tasks[i]);
    }
    return newTasks.length == 0?null:newTasks;
  }
   else {
    return tasks;
  }
}

function $scheduleDeferred(this$static, cmd){
  this$static.deferredCommands = push_0(this$static.deferredCommands, [cmd, false]);
  $maybeSchedulePostEventPumpCommands(this$static);
}

function $scheduleFinally(this$static, cmd){
  this$static.finallyCommands = push_0(this$static.finallyCommands, [cmd, false]);
}

function SchedulerImpl_0(){
}

function execute(cmd){
  return cmd.execute();
}

function push_0(queue, task){
  !queue && (queue = []);
  $push(queue, task);
  return queue;
}

function runScheduledTasks(tasks, rescheduled){
  var e, i, j, t;
  for (i = 0 , j = tasks.length; i < j; i++) {
    t = tasks[i];
    try {
      t[1]?t[0].execute() && (rescheduled = push_0(rescheduled, t)):t[0].execute_0();
    }
     catch ($e0) {
      $e0 = wrap($e0);
      if (instanceOf($e0, Q$Throwable)) {
        e = $e0;
        reportToBrowser(instanceOf(e, Q$JavaScriptException)?dynamicCast(e, Q$JavaScriptException).getThrown():e);
      }
       else 
        throw unwrap($e0);
    }
  }
  return rescheduled;
}

function scheduleFixedDelayImpl(cmd, delayMs){
  $clinit_SchedulerImpl();
  setTimeout_0(function(){
    var ret = $entry(execute)(cmd);
    ret && setTimeout_0(arguments.callee, delayMs);
  }
  , delayMs);
}

defineSeed(93, 91, {}, SchedulerImpl_0);
_.flushRunning = false;
_.shouldBeRunning = false;
var INSTANCE_0;
function SchedulerImpl$Flusher_0(this$0){
  this.this$0 = this$0;
}

defineSeed(94, 1, {}, SchedulerImpl$Flusher_0);
_.execute = function execute_0(){
  this.this$0.flushRunning = true;
  $flushPostEventPumpCommands(this.this$0);
  this.this$0.flushRunning = false;
  return this.this$0.shouldBeRunning = $isWorkQueued(this.this$0);
}
;
function SchedulerImpl$Rescuer_0(this$0){
  this.this$0 = this$0;
}

defineSeed(95, 1, {}, SchedulerImpl$Rescuer_0);
_.execute = function execute_1(){
  this.this$0.flushRunning && scheduleFixedDelayImpl(this.this$0.flusher, 1);
  return this.this$0.shouldBeRunning;
}
;
function extractNameFromToString(fnToString){
  var index_0, start_0, toReturn;
  toReturn = '';
  fnToString = $trim(fnToString);
  index_0 = fnToString.indexOf('(');
  start_0 = fnToString.indexOf('function') == 0?8:0;
  if (index_0 == -1) {
    index_0 = $indexOf_0(fnToString, fromCodePoint(64));
    start_0 = fnToString.indexOf('function ') == 0?9:0;
  }
  index_0 != -1 && (toReturn = $trim($substring_0(fnToString, start_0, index_0)));
  return toReturn.length > 0?toReturn:'anonymous';
}

function $collect(this$static){
  var seen = {};
  var toReturn = [];
  var callee = arguments.callee.caller.caller;
  while (callee) {
    var name_0 = this$static.extractName(callee.toString());
    toReturn.push(name_0);
    var keyName = ':' + name_0;
    var withThisName = seen[keyName];
    if (withThisName) {
      var i, j;
      for (i = 0 , j = withThisName.length; i < j; i++) {
        if (withThisName[i] === callee) {
          return toReturn;
        }
      }
    }
    (withThisName || (seen[keyName] = [])).push(callee);
    callee = callee.caller;
  }
  return toReturn;
}

function $createStackTrace(){
  var i, j, stack_0, stackTrace;
  stack_0 = [];
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Object_$1]), Q$StackTraceElement, stack_0.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; i++) {
    stackTrace[i] = new StackTraceElement_0(stack_0[i]);
  }
  $setStackTrace(stackTrace);
}

function $fillInStackTrace(){
  var i, j, stack_0, stackTrace;
  stack_0 = $collect(new StackTraceCreator$Collector_0);
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Object_$1]), Q$StackTraceElement, stack_0.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; i++) {
    stackTrace[i] = new StackTraceElement_0(stack_0[i]);
  }
  $setStackTrace(stackTrace);
}

function $getProperties(e){
  var result = '';
  try {
    for (var prop in e) {
      if (prop != 'name' && prop != 'message' && prop != 'toString') {
        try {
          var propValue = prop != '__gwt$exception'?e[prop]:'<skipped>';
          result += '\n ' + prop + ': ' + propValue;
        }
         catch (ignored) {
        }
      }
    }
  }
   catch (ignored) {
  }
  return result;
}

function StackTraceCreator$Collector_0(){
}

defineSeed(98, 1, {}, StackTraceCreator$Collector_0);
_.extractName = function extractName(fnToString){
  return extractNameFromToString(fnToString);
}
;
defineSeed(99, 1, {});
function $append(this$static, x_0){
  this$static.string += x_0;
}

function $append_0(this$static, x_0){
  this$static.string += x_0;
}

function StringBufferImplAppend_0(){
}

defineSeed(100, 99, {}, StringBufferImplAppend_0);
_.string = '';
function clearInterval0(timerId){
  $wnd.clearInterval(timerId);
}

function clearTimeout0(timerId){
  $wnd.clearTimeout(timerId);
}

function setTimeout0(func, time, disposeable){
  var timerId = $wnd.setTimeout(function(){
    func();
    disposeable != null && dispose(disposeable);
  }
  , time);
  return timerId;
}

function $appendChild(this$static, newChild){
  return this$static.appendChild(newChild);
}

function $removeChild(this$static, oldChild){
  return this$static.removeChild(oldChild);
}

function $removeFromParent(this$static){
  var parent_0;
  parent_0 = $getParentElement(this$static);
  !!parent_0 && parent_0.removeChild(this$static);
}

function is(o){
  try {
    return !!o && !!o.nodeType;
  }
   catch (e) {
    return false;
  }
}

function $addClassName(this$static, className){
  var idx, oldClassName;
  className = trimClassName(className);
  oldClassName = this$static.className;
  idx = indexOfName(oldClassName, className);
  if (idx == -1) {
    oldClassName.length > 0?$setClassName(this$static, oldClassName + ' ' + className):$setClassName(this$static, className);
    return true;
  }
  return false;
}

function $getPropertyInt(this$static, name_0){
  return parseInt(this$static[name_0]) | 0;
}

function $getPropertyString(this$static, name_0){
  return this$static[name_0] == null?null:String(this$static[name_0]);
}

function $getSubPixelOffsetWidth(this$static){
  return this$static.offsetWidth || 0;
}

function $removeClassName(this$static, className){
  var begin, end, idx, newClassName, oldStyle;
  className = trimClassName(className);
  oldStyle = this$static.className;
  idx = indexOfName(oldStyle, className);
  if (idx != -1) {
    begin = $trim($substring_0(oldStyle, 0, idx));
    end = $trim($substring(oldStyle, idx + className.length));
    begin.length == 0?(newClassName = end):end.length == 0?(newClassName = begin):(newClassName = begin + ' ' + end);
    $setClassName(this$static, newClassName);
    return true;
  }
  return false;
}

function $setAttribute(this$static, name_0, value_0){
  this$static.setAttribute(name_0, value_0);
}

function $setClassName(this$static, className){
  this$static.className = className;
}

function $setInnerHTML(this$static, html){
  this$static.innerHTML = html || '';
}

function $setPropertyInt(this$static, name_0, value_0){
  this$static[name_0] = value_0;
}

function $setPropertyString(this$static, name_0, value_0){
  this$static[name_0] = value_0;
}

function $setTabIndex(this$static, tabIndex){
  this$static.tabIndex = tabIndex;
}

function indexOfName(nameList, name_0){
  var idx, last, lastPos;
  idx = nameList.indexOf(name_0);
  while (idx != -1) {
    if (idx == 0 || nameList.charCodeAt(idx - 1) == 32) {
      last = idx + name_0.length;
      lastPos = nameList.length;
      if (last == lastPos || last < lastPos && nameList.charCodeAt(last) == 32) {
        break;
      }
    }
    idx = nameList.indexOf(name_0, idx + 1);
  }
  return idx;
}

function is_0(o){
  if (is(o)) {
    return !!o && o.nodeType == 1;
  }
  return false;
}

function trimClassName(className){
  className = $trim(className);
  return className;
}

function $createInputElement(doc, type_0){
  var e = doc.createElement('INPUT');
  e.type = type_0;
  return e;
}

function $createScriptElement(doc, source){
  var elem;
  elem = $createElement(doc, 'script');
  elem.text = source;
  return elem;
}

function $eventGetAltKey(evt){
  return !!evt.altKey;
}

function $eventGetCtrlKey(evt){
  return !!evt.ctrlKey;
}

function $eventGetKeyCode(evt){
  return evt.keyCode | 0;
}

function $eventGetMetaKey(evt){
  return !!evt.metaKey;
}

function $eventGetShiftKey(evt){
  return !!evt.shiftKey;
}

function $getFirstChildElement(elem){
  var child = elem.firstChild;
  while (child && child.nodeType != 1)
    child = child.nextSibling;
  return child;
}

function $getParentElement(node){
  var parent_0 = node.parentNode;
  (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null);
  return parent_0;
}

function $getSubPixelScrollLeft(elem){
  return elem.scrollLeft || 0;
}

function $imgSetSrc(img, src_0){
  img.src = src_0;
}

function $createElement(doc, tagName){
  var container, elem;
  if (tagName.indexOf(':') != -1) {
    container = (!doc.__gwt_container && (doc.__gwt_container = doc.createElement('div')) , doc.__gwt_container);
    $setInnerHTML(container, '<' + tagName + '/>');
    elem = $getFirstChildElement(container);
    container.removeChild(elem);
    return elem;
  }
  return doc.createElement(tagName);
}

function $dispatchEvent(target, evt){
  target.fireEvent('on' + evt.type, evt);
}

function $eventPreventDefault(evt){
  evt.returnValue = false;
}

function $eventStopPropagation(evt){
  evt.cancelBubble = true;
}

function $getBoundingClientRectLeft(elem){
  try {
    return elem.getBoundingClientRect().left;
  }
   catch (e) {
    return 0;
  }
}

function $getBoundingClientRectTop(elem){
  try {
    return elem.getBoundingClientRect().top;
  }
   catch (e) {
    return 0;
  }
}

function $selectAdd(select, option, before){
  before?select.add(option, before.index):select.add(option);
}

function $setInnerText(elem, text_0){
  elem.innerText = text_0 || '';
}

function isOrHasChildImpl(parent_0, child){
  if (parent_0.nodeType != 1 && parent_0.nodeType != 9) {
    return parent_0 == child;
  }
  if (child.nodeType != 1) {
    child = child.parentNode;
    if (!child) {
      return false;
    }
  }
  if (parent_0.nodeType == 9) {
    return parent_0 === child || parent_0.body && parent_0.body.contains(child);
  }
   else {
    return parent_0 === child || parent_0.contains(child);
  }
}

var currentEventTarget;
function $getAbsoluteLeft(elem){
  var doc;
  doc = elem.ownerDocument;
  return $getBoundingClientRectLeft(elem) + $getScrollLeft($equals(doc.compatMode, 'CSS1Compat')?doc.documentElement:doc.body);
}

function $getAbsoluteTop(elem){
  var doc;
  doc = elem.ownerDocument;
  return $getBoundingClientRectTop(elem) + ((($equals(doc.compatMode, 'CSS1Compat')?doc.documentElement:doc.body).scrollTop || 0) | 0);
}

function $getScrollLeft(elem){
  if (elem.currentStyle.direction == 'rtl') {
    return -($getSubPixelScrollLeft(elem) | 0);
  }
  return $getSubPixelScrollLeft(elem) | 0;
}

function $createUniqueId(this$static){
  !this$static.gwt_uid && (this$static.gwt_uid = 1);
  return 'gwt-uid-' + this$static.gwt_uid++;
}

function $getBodyOffsetLeft(this$static){
  return ($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientLeft;
}

function $getBodyOffsetTop(this$static){
  return ($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientTop;
}

function $getClientHeight(this$static){
  return ($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientHeight | 0;
}

function $getClientWidth(this$static){
  return ($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientWidth | 0;
}

function $getViewportElement(this$static){
  return $equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body;
}

function $setPropertyImpl(this$static, name_0, value_0){
  this$static[name_0] = value_0;
}

function Enum_0(name_0, ordinal){
  this.name_0 = name_0;
  this.ordinal = ordinal;
}

defineSeed(119, 1, makeCastMap([Q$Serializable, Q$Comparable, Q$Enum]));
_.equals$ = function equals_0(other){
  return this === other;
}
;
_.hashCode$ = function hashCode_1(){
  return getHashCode(this);
}
;
_.toString$ = function toString_2(){
  return this.name_0;
}
;
_.ordinal = 0;
function $clinit_Style$Display(){
  $clinit_Style$Display = nullMethod;
  NONE = new Style$Display$1_0;
  BLOCK = new Style$Display$2_0;
  INLINE = new Style$Display$3_0;
  INLINE_BLOCK = new Style$Display$4_0;
  $VALUES = initValues(_3Lcom_google_gwt_dom_client_Style$Display_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Enum_$1, Q$Object_$1]), Q$Style$Display, [NONE, BLOCK, INLINE, INLINE_BLOCK]);
}

function Style$Display_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_0(){
  $clinit_Style$Display();
  return $VALUES;
}

defineSeed(118, 119, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES, BLOCK, INLINE, INLINE_BLOCK, NONE;
function Style$Display$1_0(){
  Style$Display_0.call(this, 'NONE', 0);
}

defineSeed(120, 118, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$1_0);
function Style$Display$2_0(){
  Style$Display_0.call(this, 'BLOCK', 1);
}

defineSeed(121, 118, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$2_0);
function Style$Display$3_0(){
  Style$Display_0.call(this, 'INLINE', 2);
}

defineSeed(122, 118, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$3_0);
function Style$Display$4_0(){
  Style$Display_0.call(this, 'INLINE_BLOCK', 3);
}

defineSeed(123, 118, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$4_0);
function $clinit_Style$Overflow(){
  $clinit_Style$Overflow = nullMethod;
  VISIBLE = new Style$Overflow$1_0;
  HIDDEN_0 = new Style$Overflow$2_0;
  SCROLL = new Style$Overflow$3_0;
  AUTO = new Style$Overflow$4_0;
  $VALUES_0 = initValues(_3Lcom_google_gwt_dom_client_Style$Overflow_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Enum_$1, Q$Object_$1]), Q$Style$Overflow, [VISIBLE, HIDDEN_0, SCROLL, AUTO]);
}

function Style$Overflow_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_1(){
  $clinit_Style$Overflow();
  return $VALUES_0;
}

defineSeed(124, 119, makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_0, AUTO, HIDDEN_0, SCROLL, VISIBLE;
function Style$Overflow$1_0(){
  Style$Overflow_0.call(this, 'VISIBLE', 0);
}

defineSeed(125, 124, makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]), Style$Overflow$1_0);
function Style$Overflow$2_0(){
  Style$Overflow_0.call(this, 'HIDDEN', 1);
}

defineSeed(126, 124, makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]), Style$Overflow$2_0);
function Style$Overflow$3_0(){
  Style$Overflow_0.call(this, 'SCROLL', 2);
}

defineSeed(127, 124, makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]), Style$Overflow$3_0);
function Style$Overflow$4_0(){
  Style$Overflow_0.call(this, 'AUTO', 3);
}

defineSeed(128, 124, makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]), Style$Overflow$4_0);
function $clinit_Style$Position(){
  $clinit_Style$Position = nullMethod;
  STATIC = new Style$Position$1_0;
  RELATIVE = new Style$Position$2_0;
  ABSOLUTE = new Style$Position$3_0;
  FIXED = new Style$Position$4_0;
  $VALUES_1 = initValues(_3Lcom_google_gwt_dom_client_Style$Position_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Enum_$1, Q$Object_$1]), Q$Style$Position, [STATIC, RELATIVE, ABSOLUTE, FIXED]);
}

function Style$Position_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_2(){
  $clinit_Style$Position();
  return $VALUES_1;
}

defineSeed(129, 119, makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_1, ABSOLUTE, FIXED, RELATIVE, STATIC;
function Style$Position$1_0(){
  Style$Position_0.call(this, 'STATIC', 0);
}

defineSeed(130, 129, makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]), Style$Position$1_0);
function Style$Position$2_0(){
  Style$Position_0.call(this, 'RELATIVE', 1);
}

defineSeed(131, 129, makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]), Style$Position$2_0);
function Style$Position$3_0(){
  Style$Position_0.call(this, 'ABSOLUTE', 2);
}

defineSeed(132, 129, makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]), Style$Position$3_0);
function Style$Position$4_0(){
  Style$Position_0.call(this, 'FIXED', 3);
}

defineSeed(133, 129, makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]), Style$Position$4_0);
function $clinit_Style$TextAlign(){
  $clinit_Style$TextAlign = nullMethod;
  CENTER = new Style$TextAlign$1_0;
  JUSTIFY = new Style$TextAlign$2_0;
  LEFT = new Style$TextAlign$3_0;
  RIGHT = new Style$TextAlign$4_0;
  $VALUES_2 = initValues(_3Lcom_google_gwt_dom_client_Style$TextAlign_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Enum_$1, Q$Object_$1]), Q$Style$TextAlign, [CENTER, JUSTIFY, LEFT, RIGHT]);
}

function Style$TextAlign_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_3(){
  $clinit_Style$TextAlign();
  return $VALUES_2;
}

defineSeed(134, 119, makeCastMap([Q$Style$HasCssName, Q$Style$TextAlign, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_2, CENTER, JUSTIFY, LEFT, RIGHT;
function Style$TextAlign$1_0(){
  Style$TextAlign_0.call(this, 'CENTER', 0);
}

defineSeed(135, 134, makeCastMap([Q$Style$HasCssName, Q$Style$TextAlign, Q$Serializable, Q$Comparable, Q$Enum]), Style$TextAlign$1_0);
function Style$TextAlign$2_0(){
  Style$TextAlign_0.call(this, 'JUSTIFY', 1);
}

defineSeed(136, 134, makeCastMap([Q$Style$HasCssName, Q$Style$TextAlign, Q$Serializable, Q$Comparable, Q$Enum]), Style$TextAlign$2_0);
function Style$TextAlign$3_0(){
  Style$TextAlign_0.call(this, 'LEFT', 2);
}

defineSeed(137, 134, makeCastMap([Q$Style$HasCssName, Q$Style$TextAlign, Q$Serializable, Q$Comparable, Q$Enum]), Style$TextAlign$3_0);
function Style$TextAlign$4_0(){
  Style$TextAlign_0.call(this, 'RIGHT', 3);
}

defineSeed(138, 134, makeCastMap([Q$Style$HasCssName, Q$Style$TextAlign, Q$Serializable, Q$Comparable, Q$Enum]), Style$TextAlign$4_0);
function $clinit_Style$Unit(){
  $clinit_Style$Unit = nullMethod;
  PX = new Style$Unit$1_0;
  PCT = new Style$Unit$2_0;
  EM = new Style$Unit$3_0;
  EX = new Style$Unit$4_0;
  PT = new Style$Unit$5_0;
  PC = new Style$Unit$6_0;
  IN = new Style$Unit$7_0;
  CM = new Style$Unit$8_0;
  MM = new Style$Unit$9_0;
  $VALUES_3 = initValues(_3Lcom_google_gwt_dom_client_Style$Unit_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Enum_$1, Q$Object_$1]), Q$Style$Unit, [PX, PCT, EM, EX, PT, PC, IN, CM, MM]);
}

function Style$Unit_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_4(){
  $clinit_Style$Unit();
  return $VALUES_3;
}

defineSeed(139, 119, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_3, CM, EM, EX, IN, MM, PC, PCT, PT, PX;
function Style$Unit$1_0(){
  Style$Unit_0.call(this, 'PX', 0);
}

defineSeed(140, 139, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$1_0);
_.getType = function getType(){
  return 'px';
}
;
function Style$Unit$2_0(){
  Style$Unit_0.call(this, 'PCT', 1);
}

defineSeed(141, 139, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$2_0);
_.getType = function getType_0(){
  return '%';
}
;
function Style$Unit$3_0(){
  Style$Unit_0.call(this, 'EM', 2);
}

defineSeed(142, 139, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$3_0);
_.getType = function getType_1(){
  return 'em';
}
;
function Style$Unit$4_0(){
  Style$Unit_0.call(this, 'EX', 3);
}

defineSeed(143, 139, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$4_0);
_.getType = function getType_2(){
  return 'ex';
}
;
function Style$Unit$5_0(){
  Style$Unit_0.call(this, 'PT', 4);
}

defineSeed(144, 139, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$5_0);
_.getType = function getType_3(){
  return 'pt';
}
;
function Style$Unit$6_0(){
  Style$Unit_0.call(this, 'PC', 5);
}

defineSeed(145, 139, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$6_0);
_.getType = function getType_4(){
  return 'pc';
}
;
function Style$Unit$7_0(){
  Style$Unit_0.call(this, 'IN', 6);
}

defineSeed(146, 139, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$7_0);
_.getType = function getType_5(){
  return 'in';
}
;
function Style$Unit$8_0(){
  Style$Unit_0.call(this, 'CM', 7);
}

defineSeed(147, 139, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$8_0);
_.getType = function getType_6(){
  return 'cm';
}
;
function Style$Unit$9_0(){
  Style$Unit_0.call(this, 'MM', 8);
}

defineSeed(148, 139, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$9_0);
_.getType = function getType_7(){
  return 'mm';
}
;
function $clinit_Style$Visibility(){
  $clinit_Style$Visibility = nullMethod;
  VISIBLE_0 = new Style$Visibility$1_0;
  HIDDEN_1 = new Style$Visibility$2_0;
  $VALUES_4 = initValues(_3Lcom_google_gwt_dom_client_Style$Visibility_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Enum_$1, Q$Object_$1]), Q$Style$Visibility, [VISIBLE_0, HIDDEN_1]);
}

function Style$Visibility_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_5(){
  $clinit_Style$Visibility();
  return $VALUES_4;
}

defineSeed(149, 119, makeCastMap([Q$Style$HasCssName, Q$Style$Visibility, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_4, HIDDEN_1, VISIBLE_0;
function Style$Visibility$1_0(){
  Style$Visibility_0.call(this, 'VISIBLE', 0);
}

defineSeed(150, 149, makeCastMap([Q$Style$HasCssName, Q$Style$Visibility, Q$Serializable, Q$Comparable, Q$Enum]), Style$Visibility$1_0);
function Style$Visibility$2_0(){
  Style$Visibility_0.call(this, 'HIDDEN', 1);
}

defineSeed(151, 149, makeCastMap([Q$Style$HasCssName, Q$Style$Visibility, Q$Serializable, Q$Comparable, Q$Enum]), Style$Visibility$2_0);
function $clinit_StyleInjector(){
  $clinit_StyleInjector = nullMethod;
  toInject = [];
  toInjectAtEnd = [];
  toInjectAtStart = [];
  flusher = new StyleInjector$1_0;
}

function flush(){
  $clinit_StyleInjector();
  var css, maybeReturn, toReturn;
  toReturn = null;
  if (toInjectAtStart.length != 0) {
    css = toInjectAtStart.join('');
    maybeReturn = $injectStyleSheetAtStart(($clinit_StyleInjector$StyleInjectorImpl() , css));
    !toInjectAtStart && (toReturn = maybeReturn);
    $setLength(toInjectAtStart, 0);
  }
  if (toInject.length != 0) {
    css = toInject.join('');
    maybeReturn = $injectStyleSheet(($clinit_StyleInjector$StyleInjectorImpl() , css));
    !toInject && (toReturn = maybeReturn);
    $setLength(toInject, 0);
  }
  if (toInjectAtEnd.length != 0) {
    css = toInjectAtEnd.join('');
    maybeReturn = $injectStyleSheetAtEnd(($clinit_StyleInjector$StyleInjectorImpl() , css));
    !toInjectAtEnd && (toReturn = maybeReturn);
    $setLength(toInjectAtEnd, 0);
  }
  needsInjection = false;
  return toReturn;
}

--></script>
<script><!--
function schedule(){
  $clinit_StyleInjector();
  if (!needsInjection) {
    needsInjection = true;
    $scheduleFinally(($clinit_SchedulerImpl() , INSTANCE_0), flusher);
  }
}

var flusher, needsInjection = false, toInject, toInjectAtEnd, toInjectAtStart;
function StyleInjector$1_0(){
}

defineSeed(154, 1, {}, StyleInjector$1_0);
_.execute_0 = function execute_2(){
  ($clinit_StyleInjector() , needsInjection) && flush();
}
;
function $clinit_StyleInjector$StyleInjectorImpl(){
  $clinit_StyleInjector$StyleInjectorImpl = nullMethod;
  $clinit_StyleInjector$StyleInjectorImplIE();
}

function $clinit_StyleInjector$StyleInjectorImplIE(){
  $clinit_StyleInjector$StyleInjectorImplIE = nullMethod;
  $clinit_StyleInjector$StyleInjectorImpl();
  styleSheetLengths = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, 30, 1);
}

function $appendToStyleSheet(idx, contents, append){
  var style;
  style = $doc.styleSheets[idx];
  append?(style.cssText += contents , undefined):(style.cssText = contents + style.cssText , undefined);
  return style;
}

function $createNewStyleSheet(contents){
  var style;
  style = $doc.createStyleSheet();
  style.cssText = contents;
  return style;
}

function $injectStyleSheet(contents){
  var i, len, numStyles, shortestIdx, shortestLen;
  numStyles = getDocumentStyleCount();
  if (numStyles < 30) {
    return $createNewStyleSheet(contents);
  }
   else {
    shortestLen = 2147483647;
    shortestIdx = -1;
    for (i = 0; i < numStyles; i++) {
      len = styleSheetLengths[i];
      len == 0 && (len = styleSheetLengths[i] = $doc.styleSheets[i].cssText.length);
      if (len <= shortestLen) {
        shortestLen = len;
        shortestIdx = i;
      }
    }
    styleSheetLengths[shortestIdx] += contents.length;
    return $appendToStyleSheet(shortestIdx, contents, true);
  }
}

function $injectStyleSheetAtEnd(contents){
  var documentStyleCount;
  documentStyleCount = getDocumentStyleCount();
  if (documentStyleCount == 0) {
    return $createNewStyleSheet(contents);
  }
  return $appendToStyleSheet(documentStyleCount - 1, contents, true);
}

function $injectStyleSheetAtStart(contents){
  if (getDocumentStyleCount() == 0) {
    return $createNewStyleSheet(contents);
  }
  return $appendToStyleSheet(0, contents, false);
}

function getDocumentStyleCount(){
  return $doc.styleSheets.length;
}

var styleSheetLengths;
defineSeed(160, 1, {});
_.toString$ = function toString_3(){
  return 'An event type';
}
;
function $overrideSource(this$static, source){
  this$static.source = source;
}

defineSeed(159, 160, {});
_.revive = function revive(){
  this.dead = false;
  this.source = null;
}
;
_.dead = false;
function $setNativeEvent(this$static, nativeEvent){
  this$static.nativeEvent = nativeEvent;
}

function $setRelativeElement(this$static, relativeElem){
  this$static.relativeElem = relativeElem;
}

function fireNativeEvent(nativeEvent, handlerSource, relativeElem){
  var currentNative, currentRelativeElem, type_0, type$iterator, types;
  if (registered) {
    types = dynamicCast($unsafeGet(registered, nativeEvent.type), Q$List);
    if (types) {
      for (type$iterator = types.iterator(); type$iterator.hasNext();) {
        type_0 = dynamicCast(type$iterator.next_0(), Q$DomEvent$Type);
        currentNative = type_0.flyweight.nativeEvent;
        currentRelativeElem = type_0.flyweight.relativeElem;
        $setNativeEvent(type_0.flyweight, nativeEvent);
        $setRelativeElement(type_0.flyweight, relativeElem);
        $fireEvent_0(handlerSource, type_0.flyweight);
        $setNativeEvent(type_0.flyweight, currentNative);
        $setRelativeElement(type_0.flyweight, currentRelativeElem);
      }
    }
  }
}

defineSeed(158, 159, {});
_.getAssociatedType = function getAssociatedType(){
  return this.getAssociatedType_0();
}
;
var registered;
function $clinit_BlurEvent(){
  $clinit_BlurEvent = nullMethod;
  TYPE = new DomEvent$Type_0('blur', new BlurEvent_0);
}

function $dispatch(handler){
  !handler.this$0.shownChildMenu && $selectItem(handler.this$0, null);
}

function BlurEvent_0(){
}

defineSeed(157, 158, {}, BlurEvent_0);
_.dispatch = function dispatch(handler){
  $dispatch(dynamicCast(handler, Q$BlurHandler));
}
;
_.getAssociatedType_0 = function getAssociatedType_0(){
  return TYPE;
}
;
var TYPE;
defineSeed(163, 158, {});
defineSeed(162, 163, {});
function $clinit_ClickEvent(){
  $clinit_ClickEvent = nullMethod;
  TYPE_0 = new DomEvent$Type_0('click', new ClickEvent_0);
}

function ClickEvent_0(){
}

defineSeed(161, 162, {}, ClickEvent_0);
_.dispatch = function dispatch_0(handler){
  dynamicCast(handler, Q$ClickHandler).onClick(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_1(){
  return TYPE_0;
}
;
var TYPE_0;
defineSeed(166, 1, {});
_.hashCode$ = function hashCode_2(){
  return this.index_0;
}
;
_.toString$ = function toString_4(){
  return 'Event type';
}
;
_.index_0 = 0;
var nextHashCode = 0;
function GwtEvent$Type_0(){
  this.index_0 = ++nextHashCode;
}

defineSeed(165, 166, {}, GwtEvent$Type_0);
function DomEvent$Type_0(eventName, flyweight){
  var types;
  GwtEvent$Type_0.call(this);
  this.flyweight = flyweight;
  !registered && (registered = new PrivateMap_0);
  types = dynamicCast($unsafeGet(registered, eventName), Q$List);
  if (!types) {
    types = new ArrayList_0;
    $unsafePut(registered, eventName, types);
  }
  types.add_0(this);
  this.name_0 = eventName;
}

defineSeed(164, 165, makeCastMap([Q$DomEvent$Type]), DomEvent$Type_0);
function $unsafeGet(this$static, key){
  return this$static.map_0[key];
}

function $unsafePut(this$static, key, value_0){
  this$static.map_0[key] = value_0;
}

function PrivateMap_0(){
  this.map_0 = {};
}

defineSeed(167, 1, {}, PrivateMap_0);
function fire_0(){
  return null;
}

function CloseEvent_1(autoClosed){
  this.autoClosed = autoClosed;
}

function fire_1(source, autoClosed){
  var event_0;
  if (TYPE_1) {
    event_0 = new CloseEvent_1(autoClosed);
    source.fireEvent_0(event_0);
  }
}

defineSeed(170, 159, {}, CloseEvent_1);
_.dispatch = function dispatch_1(handler){
  dynamicCast(handler, Q$CloseHandler).onClose(this);
}
;
_.getAssociatedType = function getAssociatedType_2(){
  return TYPE_1;
}
;
_.autoClosed = false;
var TYPE_1;
function ResizeEvent_0(){
}

function fire_2(source){
  var event_0;
  if (TYPE_2) {
    event_0 = new ResizeEvent_0;
    $fireEvent(source, event_0);
  }
}

defineSeed(171, 159, {}, ResizeEvent_0);
_.dispatch = function dispatch_2(handler){
  dynamicCast(handler, Q$ResizeHandler);
  $onResize_0();
}
;
_.getAssociatedType = function getAssociatedType_3(){
  return TYPE_2;
}
;
var TYPE_2;
function fire_3(){
}

function $dispatch_0(handler){
  handler.this$0.autoHideOnHistoryEvents && $hide(handler.this$0, false);
}

function ValueChangeEvent_0(){
}

function fire_4(source){
  var event_0;
  if (TYPE_3) {
    event_0 = new ValueChangeEvent_0;
    $fireEvent(source.handlers, event_0);
  }
}

defineSeed(173, 159, {}, ValueChangeEvent_0);
_.dispatch = function dispatch_3(handler){
  $dispatch_0(dynamicCast(handler, Q$ValueChangeHandler));
}
;
_.getAssociatedType = function getAssociatedType_4(){
  return TYPE_3;
}
;
var TYPE_3;
defineSeed(175, 1, {});
function $castFireEvent(this$static, event_0){
  var e;
  try {
    $doFire(this$static.real, event_0);
  }
   catch ($e0) {
    $e0 = wrap($e0);
    if (instanceOf($e0, Q$UmbrellaException)) {
      e = $e0;
      throw new UmbrellaException_2(e.causes);
    }
     else 
      throw unwrap($e0);
  }
}

defineSeed(174, 175, makeCastMap([Q$HasHandlers]));
function $addHandler(this$static, type_0, handler){
  return new LegacyHandlerWrapper_0($doAdd(this$static.eventBus, type_0, handler));
}

function $fireEvent(this$static, event_0){
  var e, oldSource;
  !event_0.dead || event_0.revive();
  oldSource = event_0.source;
  $overrideSource(event_0, this$static.source);
  try {
    $doFire(this$static.eventBus, event_0);
  }
   catch ($e0) {
    $e0 = wrap($e0);
    if (instanceOf($e0, Q$UmbrellaException)) {
      e = $e0;
      throw new UmbrellaException_2(e.causes);
    }
     else 
      throw unwrap($e0);
  }
   finally {
    oldSource == null?(event_0.dead = true , event_0.source = null):(event_0.source = oldSource);
  }
}

function $isEventHandled(this$static, e){
  return $isEventHandled_0(this$static.eventBus, e);
}

function HandlerManager_0(source){
  HandlerManager_1.call(this, source, false);
}

function HandlerManager_1(source, fireInReverseOrder){
  this.eventBus = new HandlerManager$Bus_0(fireInReverseOrder);
  this.source = source;
}

defineSeed(176, 1, makeCastMap([Q$HasHandlers]), HandlerManager_0, HandlerManager_1);
_.fireEvent_0 = function fireEvent(event_0){
  $fireEvent(this, event_0);
}
;
function $defer(this$static, command){
  !this$static.deferredDeltas && (this$static.deferredDeltas = new ArrayList_0);
  $add_7(this$static.deferredDeltas, command);
}

function $doAdd(this$static, type_0, handler){
  if (!type_0) {
    throw new NullPointerException_1('Cannot add a handler with a null type');
  }
  if (!handler) {
    throw new NullPointerException_1('Cannot add a null handler');
  }
  this$static.firingDepth > 0?$defer(this$static, new SimpleEventBus$2_0(this$static, type_0, handler)):$doAddNow(this$static, type_0, handler);
  return new SimpleEventBus$1_0(this$static, type_0, handler);
}

function $doAddNow(this$static, type_0, handler){
  var l;
  l = $ensureHandlerList(this$static, type_0);
  l.add_0(handler);
}

function $doFire(this$static, event_0){
  var causes, e, handler, handlers, it;
  if (!event_0) {
    throw new NullPointerException_1('Cannot fire null event');
  }
  try {
    ++this$static.firingDepth;
    handlers = $getDispatchList(this$static, event_0.getAssociatedType());
    causes = null;
    it = this$static.isReverseOrder?handlers.listIterator_0(handlers.size_1()):handlers.listIterator();
    while (this$static.isReverseOrder?it.i > 0:it.i < it.this$0_0.size_1()) {
      handler = this$static.isReverseOrder?$previous(it):$next_3(it);
      try {
        event_0.dispatch(dynamicCast(handler, Q$EventHandler));
      }
       catch ($e0) {
        $e0 = wrap($e0);
        if (instanceOf($e0, Q$Throwable)) {
          e = $e0;
          !causes && (causes = new HashSet_0);
          $add_8(causes, e);
        }
         else 
          throw unwrap($e0);
      }
    }
    if (causes) {
      throw new UmbrellaException_1(causes);
    }
  }
   finally {
    --this$static.firingDepth;
    this$static.firingDepth == 0 && $handleQueuedAddsAndRemoves(this$static);
  }
}

function $doRemoveNow(this$static, type_0, handler){
  var l, removed, sourceMap;
  l = $getHandlerList(this$static, type_0);
  removed = l.remove_1(handler);
  removed && l.isEmpty() && (sourceMap = dynamicCast($get_3(this$static.map_0, type_0), Q$Map) , dynamicCast($removeNullSlot(sourceMap), Q$List) , sourceMap.size_0 == 0 && $remove_10(this$static.map_0, type_0) , undefined);
}

function $ensureHandlerList(this$static, type_0){
  var handlers, sourceMap;
  sourceMap = dynamicCast($get_3(this$static.map_0, type_0), Q$Map);
  if (!sourceMap) {
    sourceMap = new HashMap_0;
    $put_0(this$static.map_0, type_0, sourceMap);
  }
  handlers = dynamicCast(sourceMap.nullSlot, Q$List);
  if (!handlers) {
    handlers = new ArrayList_0;
    $putNullSlot(sourceMap, handlers);
  }
  return handlers;
}

function $getDispatchList(this$static, type_0){
  var directHandlers;
  directHandlers = $getHandlerList(this$static, type_0);
  return directHandlers;
}

function $getHandlerList(this$static, type_0){
  var handlers, sourceMap;
  sourceMap = dynamicCast($get_3(this$static.map_0, type_0), Q$Map);
  if (!sourceMap) {
    return $clinit_Collections() , $clinit_Collections() , EMPTY_LIST;
  }
  handlers = dynamicCast(sourceMap.nullSlot, Q$List);
  if (!handlers) {
    return $clinit_Collections() , $clinit_Collections() , EMPTY_LIST;
  }
  return handlers;
}

function $handleQueuedAddsAndRemoves(this$static){
  var c, c$iterator;
  if (this$static.deferredDeltas) {
    try {
      for (c$iterator = new AbstractList$IteratorImpl_0(this$static.deferredDeltas); c$iterator.i < c$iterator.this$0_0.size_1();) {
        c = dynamicCast($next_3(c$iterator), Q$SimpleEventBus$Command);
        c.execute_0();
      }
    }
     finally {
      this$static.deferredDeltas = null;
    }
  }
}

function $isEventHandled_0(this$static, eventKey){
  return $containsKey(this$static.map_0, eventKey);
}

function SimpleEventBus_0(){
  SimpleEventBus_1.call(this, false);
}

function SimpleEventBus_1(fireInReverseOrder){
  this.map_0 = new HashMap_0;
  this.isReverseOrder = fireInReverseOrder;
}

defineSeed(178, 175, {}, SimpleEventBus_0);
_.doRemove = function doRemove(type_0, source, handler){
  this.firingDepth > 0?$defer(this, new SimpleEventBus$3_0(this, type_0, handler)):$doRemoveNow(this, type_0, handler);
}
;
_.firingDepth = 0;
_.isReverseOrder = false;
function HandlerManager$Bus_0(fireInReverseOrder){
  SimpleEventBus_1.call(this, fireInReverseOrder);
}

defineSeed(177, 178, {}, HandlerManager$Bus_0);
_.doRemove = function doRemove_0(type_0, source, handler){
  this.firingDepth > 0?$defer(this, new SimpleEventBus$3_0(this, type_0, handler)):$doRemoveNow(this, type_0, handler);
}
;
function LegacyHandlerWrapper_0(real){
  this.real = real;
}

defineSeed(179, 1, {}, LegacyHandlerWrapper_0);
function $addHandler_0(this$static, type_0, handler){
  return new LegacyHandlerWrapper_0($doAdd(this$static.real, type_0, handler));
}

function SimpleEventBus_3(){
  this.real = new SimpleEventBus_0;
}

defineSeed(180, 174, makeCastMap([Q$HasHandlers]), SimpleEventBus_3);
_.fireEvent_0 = function fireEvent_0(event_0){
  $castFireEvent(this, event_0);
}
;
function UmbrellaException_1(causes){
  RuntimeException_2.call(this, makeMessage(causes), makeCause(causes));
  this.causes = causes;
}

function makeCause(causes){
  var iterator;
  iterator = causes.iterator();
  if (!iterator.hasNext()) {
    return null;
  }
  return dynamicCast(iterator.next_0(), Q$Throwable);
}

function makeMessage(causes){
  var b, count, first, t, t$iterator;
  count = causes.size_1();
  if (count == 0) {
    return null;
  }
  b = new StringBuilder_1(count == 1?'Exception caught: ':count + ' exceptions caught: ');
  first = true;
  for (t$iterator = causes.iterator(); t$iterator.hasNext();) {
    t = dynamicCast(t$iterator.next_0(), Q$Throwable);
    first?(first = false):($append_0(b.impl, '; ') , b);
    $append_4(b, t.getMessage());
  }
  return b.impl.string;
}

defineSeed(182, 84, makeCastMap([Q$UmbrellaException, Q$Serializable, Q$Throwable]), UmbrellaException_1);
function UmbrellaException_2(causes){
  UmbrellaException_1.call(this, causes);
}

defineSeed(181, 182, makeCastMap([Q$UmbrellaException, Q$Serializable, Q$Throwable]), UmbrellaException_2);
function $cancel_2(this$static){
  var xmlHttp;
  if (this$static.xmlHttpRequest) {
    xmlHttp = this$static.xmlHttpRequest;
    this$static.xmlHttpRequest = null;
    $clearOnReadyStateChange(xmlHttp);
    xmlHttp.abort();
    this$static.timeoutMillis > 0 && clearTimeout0(this$static.timerId);
  }
}

function $fireOnResponseReceived(this$static, callback){
  var errorMsg, response, xhr;
  if (!this$static.xmlHttpRequest) {
    return;
  }
  this$static.timeoutMillis > 0 && clearTimeout0(this$static.timerId);
  xhr = this$static.xmlHttpRequest;
  this$static.xmlHttpRequest = null;
  errorMsg = $getBrowserSpecificFailure(xhr);
  if (errorMsg != null) {
    new RuntimeException_1(errorMsg);
    alert_0("onError: Couldn't retrieve JSON");
  }
   else {
    response = new Request$RequestImplIE6To9$1_0(xhr);
    $onResponseReceived(callback, response);
  }
}

function $getBrowserSpecificFailure(xhr){
  try {
    if (xhr.status === undefined) {
      return 'XmlHttpRequest.status == undefined, please see Safari bug http://bugs.webkit.org/show_bug.cgi?id=3810 for more details';
    }
    return null;
  }
   catch (e) {
    return 'Unable to read XmlHttpRequest.status; likely causes are a networking error or bad cross-domain request. Please see https://bugzilla.mozilla.org/show_bug.cgi?id=238559 for more details';
  }
}

function Request_0(xmlHttpRequest, timeoutMillis, callback){
  if (!xmlHttpRequest) {
    throw new NullPointerException_0;
  }
  if (!callback) {
    throw new NullPointerException_0;
  }
  if (timeoutMillis < 0) {
    throw new IllegalArgumentException_0;
  }
  this.timeoutMillis = timeoutMillis;
  this.xmlHttpRequest = xmlHttpRequest;
  timeoutMillis > 0?(this.timerId = createTimeout(this, callback, timeoutMillis)):(this.timerId = 0);
}

function createTimeout(request, callback, timeoutMillis){
  return setTimeout_0($entry(function(){
    request.fireOnTimeout(callback);
  }
  ), timeoutMillis);
}

defineSeed(183, 1, {}, Request_0);
_.fireOnTimeout = function fireOnTimeout(callback){
  if (!this.xmlHttpRequest) {
    return;
  }
  $cancel_2(this);
  new RequestTimeoutException_0(this.timeoutMillis);
  alert_0("onError: Couldn't retrieve JSON");
}
;
_.timeoutMillis = 0;
_.timerId = 0;
defineSeed(186, 1, {});
defineSeed(185, 186, {});
function $getStatusCode(this$static){
  var statusCode;
  statusCode = this$static.xmlHttpRequest.status;
  return statusCode == 1223?204:statusCode;
}

function Request$RequestImplIE6To9$1_0($anonymous0){
  this.xmlHttpRequest = $anonymous0;
}

defineSeed(184, 185, {}, Request$RequestImplIE6To9$1_0);
function $clinit_RequestBuilder(){
  $clinit_RequestBuilder = nullMethod;
  new RequestBuilder$Method_0('DELETE');
  GET = new RequestBuilder$Method_0('GET');
  new RequestBuilder$Method_0('HEAD');
  new RequestBuilder$Method_0('POST');
  new RequestBuilder$Method_0('PUT');
}

function $doSend(this$static, callback){
  var e, request, requestPermissionException, xmlHttpRequest;
  xmlHttpRequest = create_0();
  try {
    $open(xmlHttpRequest, this$static.httpMethod, this$static.url_0);
  }
   catch ($e0) {
    $e0 = wrap($e0);
    if (instanceOf($e0, Q$JavaScriptException)) {
      e = $e0;
      requestPermissionException = new RequestPermissionException_0(this$static.url_0);
      $initCause(requestPermissionException, new RequestException_0(e.getMessage()));
      throw requestPermissionException;
    }
     else 
      throw unwrap($e0);
  }
  xmlHttpRequest.setRequestHeader('Content-Type', 'text/plain; charset=utf-8');
  this$static.includeCredentials && (xmlHttpRequest.withCredentials = true , undefined);
  request = new Request_0(xmlHttpRequest, this$static.timeoutMillis, callback);
  $setOnReadyStateChange(xmlHttpRequest, new RequestBuilder$1_0(request, callback));
  try {
    xmlHttpRequest.send(null);
  }
   catch ($e1) {
    $e1 = wrap($e1);
    if (instanceOf($e1, Q$JavaScriptException)) {
      e = $e1;
      throw new RequestException_0(e.getMessage());
    }
     else 
      throw unwrap($e1);
  }
  return request;
}

function $sendRequest(this$static, callback){
  throwIfNull('callback', callback);
  return $doSend(this$static, callback);
}

function RequestBuilder_0(httpMethod, url_0){
  $clinit_RequestBuilder();
  RequestBuilder_1.call(this, !httpMethod?null:httpMethod.name_0, url_0);
}

function RequestBuilder_1(httpMethod, url_0){
  throwIfEmptyOrNull('httpMethod', httpMethod);
  throwIfEmptyOrNull('url', url_0);
  this.httpMethod = httpMethod;
  this.url_0 = url_0;
}

defineSeed(187, 1, {}, RequestBuilder_0);
_.includeCredentials = false;
_.timeoutMillis = 0;
var GET;
function RequestBuilder$1_0(val$request, val$callback){
  this.val$request = val$request;
  this.val$callback = val$callback;
}

defineSeed(188, 1, {}, RequestBuilder$1_0);
_.onReadyStateChange = function onReadyStateChange(xhr){
  if (xhr.readyState == 4) {
    $clearOnReadyStateChange(xhr);
    $fireOnResponseReceived(this.val$request, this.val$callback);
  }
}
;
function RequestBuilder$Method_0(name_0){
  this.name_0 = name_0;
}

defineSeed(189, 1, {}, RequestBuilder$Method_0);
_.toString$ = function toString_5(){
  return this.name_0;
}
;
function RequestException_0(message){
  Exception_0.call(this, message);
}

defineSeed(190, 85, makeCastMap([Q$RequestException, Q$Serializable, Q$Throwable]), RequestException_0);
function RequestPermissionException_0(url_0){
  RequestException_0.call(this, 'The URL ' + url_0 + ' is invalid or violates the same-origin security restriction');
}

defineSeed(191, 190, makeCastMap([Q$RequestException, Q$Serializable, Q$Throwable]), RequestPermissionException_0);
function RequestTimeoutException_0(timeoutMillis){
  RequestException_0.call(this, 'A request timeout has expired after ' + timeoutMillis + ' ms');
}

defineSeed(192, 190, makeCastMap([Q$RequestException, Q$Serializable, Q$Throwable]), RequestTimeoutException_0);
function throwIfEmptyOrNull(name_0, value_0){
  throwIfNull(name_0, value_0);
  if (0 == $trim(value_0).length) {
    throw new IllegalArgumentException_1(name_0 + ' cannot be empty');
  }
}

function throwIfNull(name_0, value_0){
  if (null == value_0) {
    throw new NullPointerException_1(name_0 + ' cannot be null');
  }
}

function AutoDirectionHandler_0(){
}

defineSeed(195, 1, makeCastMap([Q$EventHandler]), AutoDirectionHandler_0);
function getDirectionOnElement(elem){
  var dirPropertyValue;
  dirPropertyValue = $getPropertyString(elem, 'dir');
  if ($equalsIgnoreCase('rtl', dirPropertyValue)) {
    return $clinit_HasDirection$Direction() , RTL;
  }
   else if ($equalsIgnoreCase('ltr', dirPropertyValue)) {
    return $clinit_HasDirection$Direction() , LTR;
  }
  return $clinit_HasDirection$Direction() , DEFAULT;
}

function setDirectionOnElement(elem, direction){
  switch (direction.ordinal) {
    case 0:
      {
        $setPropertyString(elem, 'dir', 'rtl');
        break;
      }

    case 1:
      {
        $setPropertyString(elem, 'dir', 'ltr');
        break;
      }

    case 2:
      {
        getDirectionOnElement(elem) != ($clinit_HasDirection$Direction() , DEFAULT) && $setPropertyString(elem, 'dir', '');
        break;
      }

  }
}

function $clinit_HasDirection$Direction(){
  $clinit_HasDirection$Direction = nullMethod;
  RTL = new HasDirection$Direction_0('RTL', 0);
  LTR = new HasDirection$Direction_0('LTR', 1);
  DEFAULT = new HasDirection$Direction_0('DEFAULT', 2);
  $VALUES_5 = initValues(_3Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Enum_$1, Q$Object_$1]), Q$HasDirection$Direction, [RTL, LTR, DEFAULT]);
}

function HasDirection$Direction_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_6(){
  $clinit_HasDirection$Direction();
  return $VALUES_5;
}

defineSeed(197, 119, makeCastMap([Q$HasDirection$Direction, Q$Serializable, Q$Comparable, Q$Enum]), HasDirection$Direction_0);
var $VALUES_5, DEFAULT, LTR, RTL;
defineSeed(199, 1, {});
function $get(this$static, index_0){
  var v = this$static.jsArray[index_0];
  var func = ($clinit_JSONParser() , typeMap)[typeof v];
  return func?func(v):throwUnknownTypeException(typeof v);
}

function JSONArray_0(arr){
  this.jsArray = arr;
}

defineSeed(198, 199, makeCastMap([Q$JSONArray]), JSONArray_0);
_.equals$ = function equals_1(other){
  if (!instanceOf(other, Q$JSONArray)) {
    return false;
  }
  return this.jsArray == dynamicCast(other, Q$JSONArray).jsArray;
}
;
_.hashCode$ = function hashCode_3(){
  return getHashCode(this.jsArray);
}
;
_.toString$ = function toString_6(){
  var c, i, sb;
  sb = new StringBuffer_0;
  $append_0(sb.impl, '[');
  for (i = 0 , c = this.jsArray.length; i < c; i++) {
    i > 0 && ($append_0(sb.impl, ',') , sb);
    $append_2(sb, $get(this, i));
  }
  $append_0(sb.impl, ']');
  return sb.impl.string;
}
;
function $clinit_JSONBoolean(){
  $clinit_JSONBoolean = nullMethod;
  FALSE = new JSONBoolean_0(false);
  TRUE = new JSONBoolean_0(true);
}

function JSONBoolean_0(value_0){
  this.value_0 = value_0;
}

defineSeed(200, 199, {}, JSONBoolean_0);
_.toString$ = function toString_7(){
  return $clinit_Boolean() , '' + this.value_0;
}
;
_.value_0 = false;
var FALSE, TRUE;
function JSONException_0(message){
  RuntimeException_1.call(this, message);
}

function JSONException_1(cause){
  this.detailMessage = !cause?null:$toString(cause);
  this.cause = cause;
  $fillInStackTrace();
}

defineSeed(201, 84, makeCastMap([Q$Serializable, Q$Throwable]), JSONException_0, JSONException_1);
function $clinit_JSONNull(){
  $clinit_JSONNull = nullMethod;
  instance = new JSONNull_0;
}

function JSONNull_0(){
}

defineSeed(202, 199, {}, JSONNull_0);
_.toString$ = function toString_8(){
  return 'null';
}
;
var instance;
function JSONNumber_0(value_0){
  this.value_0 = value_0;
}

defineSeed(203, 199, makeCastMap([Q$JSONNumber]), JSONNumber_0);
_.equals$ = function equals_2(other){
  if (!instanceOf(other, Q$JSONNumber)) {
    return false;
  }
  return this.value_0 == dynamicCast(other, Q$JSONNumber).value_0;
}
;
_.hashCode$ = function hashCode_4(){
  return round_int((new Double_0(this.value_0)).value_0);
}
;
_.toString$ = function toString_9(){
  return this.value_0 + '';
}
;
_.value_0 = 0;
function $computeKeys0(this$static, result){
  var jsObject = this$static.jsObject;
  var i = 0;
  for (var key in jsObject) {
    jsObject.hasOwnProperty(key) && (result[i++] = key);
  }
  return result;
}

function $get_0(this$static, key){
  if (key == null) {
    throw new NullPointerException_0;
  }
  return $get0(this$static, key);
}

function $get0(this$static, key){
  var jsObject = this$static.jsObject;
  var v;
  key = String(key);
  jsObject.hasOwnProperty(key) && (v = jsObject[key]);
  var func = ($clinit_JSONParser() , typeMap)[typeof v];
  var ret = func?func(v):throwUnknownTypeException(typeof v);
  return ret;
}

function JSONObject_0(jsValue){
  this.jsObject = jsValue;
}

defineSeed(204, 199, makeCastMap([Q$JSONObject]), JSONObject_0);
_.equals$ = function equals_3(other){
  if (!instanceOf(other, Q$JSONObject)) {
    return false;
  }
  return this.jsObject == dynamicCast(other, Q$JSONObject).jsObject;
}
;
_.hashCode$ = function hashCode_5(){
  return getHashCode(this.jsObject);
}
;
_.toString$ = function toString_10(){
  var first, key, key$index, key$max, keys_0, sb;
  sb = new StringBuffer_0;
  $append_0(sb.impl, '{');
  first = true;
  keys_0 = $computeKeys0(this, initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Object_$1]), Q$String, 0, 0));
  for (key$index = 0 , key$max = keys_0.length; key$index < key$max; ++key$index) {
    key = keys_0[key$index];
    first?(first = false):($append_0(sb.impl, ', ') , sb);
    $append_3(sb, escapeValue(key));
    $append_0(sb.impl, ':');
    $append_2(sb, $get_0(this, key));
  }
  $append_0(sb.impl, '}');
  return sb.impl.string;
}
;
function $clinit_JSONParser(){
  $clinit_JSONParser = nullMethod;
  typeMap = {'boolean':createBoolean, number:createNumber, string:createString, object:createObject, 'function':createObject, undefined:createUndefined};
}

function createBoolean(v){
  return $clinit_JSONBoolean() , v?TRUE:FALSE;
}

function createNumber(v){
  return new JSONNumber_0(v);
}

function createObject(o){
  if (!o) {
    return $clinit_JSONNull() , instance;
  }
  var v = o.valueOf?o.valueOf():o;
  if (v !== o) {
    var func = typeMap[typeof v];
    return func?func(v):throwUnknownTypeException(typeof v);
  }
   else if (o instanceof Array || o instanceof $wnd.Array) {
    return new JSONArray_0(o);
  }
   else {
    return new JSONObject_0(o);
  }
}

function createString(v){
  return new JSONString_0(v);
}

function createUndefined(){
  return null;
}

function evaluate(json, strict){
  var v;
  if (strict && ($clinit_JsonUtils() , hasJsonParse)) {
    try {
      v = JSON.parse(json);
    }
     catch (e) {
      return throwJSONException('Error parsing JSON: ' + e);
    }
  }
   else {
    if (strict) {
      if (!($clinit_JsonUtils() , !/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(json.replace(/"(\\.|[^"\\])*"/g, '')))) {
        return throwJSONException('Illegal character in JSON string');
      }
    }
    json = escapeJsonForEval(json);
    try {
      v = eval('(' + json + ')');
    }
     catch (e) {
      return throwJSONException('Error parsing JSON: ' + e);
    }
  }
  var func = typeMap[typeof v];
  return func?func(v):throwUnknownTypeException(typeof v);
}

function parse_0(jsonString){
  $clinit_JSONParser();
  var ex;
  if (jsonString == null) {
    throw new NullPointerException_0;
  }
  if (jsonString.length == 0) {
    throw new IllegalArgumentException_1('empty argument');
  }
  try {
    return evaluate(jsonString, false);
  }
   catch ($e0) {
    $e0 = wrap($e0);
    if (instanceOf($e0, Q$JavaScriptException)) {
      ex = $e0;
      throw new JSONException_1(ex);
    }
     else 
      throw unwrap($e0);
  }
}

function throwJSONException(message){
  throw new JSONException_0(message);
}

function throwUnknownTypeException(typeString){
  $clinit_JSONParser();
  throw new JSONException_0("Unexpected typeof result '" + typeString + "'; please report this bug to the GWT team");
}

var typeMap;
function JSONString_0(value_0){
  if (value_0 == null) {
    throw new NullPointerException_0;
  }
  this.value_0 = value_0;
}

defineSeed(206, 199, makeCastMap([Q$JSONString]), JSONString_0);
_.equals$ = function equals_4(other){
  if (!instanceOf(other, Q$JSONString)) {
    return false;
  }
  return $equals(this.value_0, dynamicCast(other, Q$JSONString).value_0);
}
;
_.hashCode$ = function hashCode_6(){
  return getHashCode_0(this.value_0);
}
;
_.toString$ = function toString_11(){
  return escapeValue(this.value_0);
}
;
function Array_0(){
}

function createFrom(array, length_0){
  var a, result;
  a = array;
  result = createFromSeed(0, length_0);
  initValues(a.___clazz$, a.castableTypeMap$, a.queryId$, result);
  return result;
}

--></script>
<script><!--
function createFromSeed(seedType, length_0){
  var array = new Array(length_0);
  if (seedType == 3) {
    for (var i = 0; i < length_0; ++i) {
      array[i] = {l:0, m:0, h:0};
    }
  }
   else if (seedType > 0 && seedType < 3) {
    var value_0 = seedType == 1?0:false;
    for (var i = 0; i < length_0; ++i) {
      array[i] = value_0;
    }
  }
  return array;
}

function initDim(arrayClass, castableTypeMap, queryId, length_0, seedType){
  var result;
  result = createFromSeed(seedType, length_0);
  initValues(arrayClass, castableTypeMap, queryId, result);
  return result;
}

function initDims(arrayClasses, castableTypeMapExprs, queryIdExprs, dimExprs, count, seedType){
  return initDims_0(arrayClasses, castableTypeMapExprs, queryIdExprs, dimExprs, 0, count, seedType);
}

function initDims_0(arrayClasses, castableTypeMapExprs, queryIdExprs, dimExprs, index_0, count, seedType){
  var i, isLastDim, length_0, result;
  length_0 = dimExprs[index_0];
  isLastDim = index_0 == count - 1;
  result = createFromSeed(isLastDim?seedType:0, length_0);
  initValues(arrayClasses[index_0], castableTypeMapExprs[index_0], queryIdExprs[index_0], result);
  if (!isLastDim) {
    ++index_0;
    for (i = 0; i < length_0; ++i) {
      result[i] = initDims_0(arrayClasses, castableTypeMapExprs, queryIdExprs, dimExprs, index_0, count, seedType);
    }
  }
  return result;
}

function initValues(arrayClass, castableTypeMap, queryId, array){
  $clinit_Array$ExpandoWrapper();
  wrapArray(array, expandoNames_0, expandoValues_0);
  array.___clazz$ = arrayClass;
  array.castableTypeMap$ = castableTypeMap;
  array.queryId$ = queryId;
  return array;
}

function setCheck(array, index_0, value_0){
  if (value_0 != null) {
    if (array.queryId$ > 0 && !canCastUnsafe(value_0, array.queryId$)) {
      throw new ArrayStoreException_0;
    }
     else if (array.queryId$ == -1 && (value_0.typeMarker$ == nullMethod || canCast(value_0, 1))) {
      throw new ArrayStoreException_0;
    }
     else if (array.queryId$ < -1 && !(value_0.typeMarker$ != nullMethod && !canCast(value_0, 1)) && !canCastUnsafe(value_0, -array.queryId$)) {
      throw new ArrayStoreException_0;
    }
  }
  return array[index_0] = value_0;
}

defineSeed(207, 1, {}, Array_0);
_.queryId$ = 0;
function $clinit_Array$ExpandoWrapper(){
  $clinit_Array$ExpandoWrapper = nullMethod;
  expandoNames_0 = [];
  expandoValues_0 = [];
  initExpandos(new Array_0, expandoNames_0, expandoValues_0);
}

function initExpandos(protoType, expandoNames, expandoValues){
  var i = 0, value_0;
  for (var name_0 in protoType) {
    if (value_0 = protoType[name_0]) {
      expandoNames[i] = name_0;
      expandoValues[i] = value_0;
      ++i;
    }
  }
}

function wrapArray(array, expandoNames, expandoValues){
  $clinit_Array$ExpandoWrapper();
  for (var i = 0, c = expandoNames.length; i < c; ++i) {
    array[expandoNames[i]] = expandoValues[i];
  }
}

var expandoNames_0, expandoValues_0;
function canCast(src_0, dstId){
  return src_0.castableTypeMap$ && !!src_0.castableTypeMap$[dstId];
}

function canCastUnsafe(src_0, dstId){
  return src_0.castableTypeMap$ && src_0.castableTypeMap$[dstId];
}

function dynamicCast(src_0, dstId){
  if (src_0 != null && !canCastUnsafe(src_0, dstId)) {
    throw new ClassCastException_0;
  }
  return src_0;
}

function dynamicCastJso(src_0){
  if (src_0 != null && (src_0.typeMarker$ == nullMethod || canCast(src_0, 1))) {
    throw new ClassCastException_0;
  }
  return src_0;
}

function instanceOf(src_0, dstId){
  return src_0 != null && canCast(src_0, dstId);
}

function instanceOfJso(src_0){
  return src_0 != null && src_0.typeMarker$ != nullMethod && !canCast(src_0, 1);
}

function isJavaObject(src_0){
  return src_0.typeMarker$ == nullMethod || canCast(src_0, 1);
}

function maskUndefined(src_0){
  return src_0 == null?null:src_0;
}

function round_int(x_0){
  return ~~Math.max(Math.min(x_0, 2147483647), -2147483648);
}

function throwClassCastExceptionUnlessNull(o){
  if (o != null) {
    throw new ClassCastException_0;
  }
  return null;
}

function init(){
  var runtimeValue;
  isStatsAvailable() && onModuleStart('com.google.gwt.useragent.client.UserAgentAsserter');
  runtimeValue = $getRuntimeValue();
  $equals('ie8', runtimeValue) || ($wnd.alert('ERROR: Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie8) does not match the runtime user.agent value (' + runtimeValue + '). Expect more errors.\n') , undefined);
  isStatsAvailable() && onModuleStart('com.google.gwt.user.client.DocumentModeAsserter');
  $onModuleLoad();
  isStatsAvailable() && onModuleStart('mhcs.client.MarsHabitatConfigurationSystem');
  $onModuleLoad_0($clinit_MarsHabitatConfigurationSystem());
}

function getCachableJavaScriptException(e_0){
  var jse = e_0.__gwt$exception;
  if (!jse) {
    jse = new JavaScriptException_0(e_0);
    try {
      e_0.__gwt$exception = jse;
    }
     catch (e) {
    }
  }
  return jse;
}

function unwrap(e){
  var jse;
  if (instanceOf(e, Q$JavaScriptException)) {
    jse = dynamicCast(e, Q$JavaScriptException);
    if (jse.e !== ($clinit_JavaScriptException() , NOT_SET)) {
      return jse.e === NOT_SET?null:jse.e;
    }
  }
  return e;
}

function wrap(e){
  if (instanceOf(e, Q$Throwable)) {
    return e;
  }
  return e == null?new JavaScriptException_0(null):getCachableJavaScriptException(e);
}

function isStatsAvailable(){
  return !!$stats;
}

function onModuleStart(mainClassName){
  return $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date).getTime(), type:'onModuleLoadStart', className:mainClassName});
}

function $adjustHorizontalConstraints(this$static, parentWidth, l){
  var leftPx, rightPx, widthPx;
  leftPx = l.left_0 * $getUnitSize(this$static, l.leftUnit, false);
  rightPx = l.right * $getUnitSize(this$static, l.rightUnit, false);
  widthPx = l.width_0 * $getUnitSize(this$static, l.widthUnit, false);
  if (l.setLeft && !l.setTargetLeft) {
    l.setLeft = false;
    if (l.setWidth) {
      l.setTargetRight = true;
      l.sourceRight = (parentWidth - (leftPx + widthPx)) / $getUnitSize(this$static, l.targetRightUnit, false);
    }
     else {
      l.setTargetWidth = true;
      l.sourceWidth = (parentWidth - (leftPx + rightPx)) / $getUnitSize(this$static, l.targetWidthUnit, false);
    }
  }
   else if (l.setWidth && !l.setTargetWidth) {
    l.setWidth = false;
    if (l.setLeft) {
      l.setTargetRight = true;
      l.sourceRight = (parentWidth - (leftPx + widthPx)) / $getUnitSize(this$static, l.targetRightUnit, false);
    }
     else {
      l.setTargetLeft = true;
      l.sourceLeft = (parentWidth - (rightPx + widthPx)) / $getUnitSize(this$static, l.targetLeftUnit, false);
    }
  }
   else if (l.setRight && !l.setTargetRight) {
    l.setRight = false;
    if (l.setWidth) {
      l.setTargetLeft = true;
      l.sourceLeft = (parentWidth - (rightPx + widthPx)) / $getUnitSize(this$static, l.targetLeftUnit, false);
    }
     else {
      l.setTargetWidth = true;
      l.sourceWidth = (parentWidth - (leftPx + rightPx)) / $getUnitSize(this$static, l.targetWidthUnit, false);
    }
  }
  l.setLeft = l.setTargetLeft;
  l.setRight = l.setTargetRight;
  l.setWidth = l.setTargetWidth;
  l.leftUnit = l.targetLeftUnit;
  l.rightUnit = l.targetRightUnit;
  l.widthUnit = l.targetWidthUnit;
}

function $adjustVerticalConstraints(this$static, parentHeight, l){
  var bottomPx, heightPx, topPx;
  topPx = l.top_0 * $getUnitSize(this$static, l.topUnit, true);
  bottomPx = l.bottom * $getUnitSize(this$static, l.bottomUnit, true);
  heightPx = l.height * $getUnitSize(this$static, l.heightUnit, true);
  if (l.setTop && !l.setTargetTop) {
    l.setTop = false;
    if (l.setHeight) {
      l.setTargetBottom = true;
      l.sourceBottom = (parentHeight - (topPx + heightPx)) / $getUnitSize(this$static, l.targetBottomUnit, true);
    }
     else {
      l.setTargetHeight = true;
      l.sourceHeight = (parentHeight - (topPx + bottomPx)) / $getUnitSize(this$static, l.targetHeightUnit, true);
    }
  }
   else if (l.setHeight && !l.setTargetHeight) {
    l.setHeight = false;
    if (l.setTop) {
      l.setTargetBottom = true;
      l.sourceBottom = (parentHeight - (topPx + heightPx)) / $getUnitSize(this$static, l.targetBottomUnit, true);
    }
     else {
      l.setTargetTop = true;
      l.sourceTop = (parentHeight - (bottomPx + heightPx)) / $getUnitSize(this$static, l.targetTopUnit, true);
    }
  }
   else if (l.setBottom && !l.setTargetBottom) {
    l.setBottom = false;
    if (l.setHeight) {
      l.setTargetTop = true;
      l.sourceTop = (parentHeight - (bottomPx + heightPx)) / $getUnitSize(this$static, l.targetTopUnit, true);
    }
     else {
      l.setTargetHeight = true;
      l.sourceHeight = (parentHeight - (topPx + bottomPx)) / $getUnitSize(this$static, l.targetHeightUnit, true);
    }
  }
  l.setTop = l.setTargetTop;
  l.setBottom = l.setTargetBottom;
  l.setHeight = l.setTargetHeight;
  l.topUnit = l.targetTopUnit;
  l.bottomUnit = l.targetBottomUnit;
  l.heightUnit = l.targetHeightUnit;
}

function $attachChild(this$static, child, before, userObject){
  var container, layer;
  container = $attachChild_0(this$static.parentElem, child, before);
  layer = new Layout$Layer_0(container, child, userObject);
  $add_7(this$static.layers, layer);
  return layer;
}

function $getUnitSize(this$static, unit, vertical){
  return $getUnitSizeInPixels(this$static.impl, this$static.parentElem, unit, vertical);
}

function $layout(this$static, duration, callback){
  var l, l$iterator, l$iterator0, parentHeight, parentWidth;
  !!this$static.animation && $cancel(this$static.animation);
  if (duration == 0) {
    for (l$iterator = new AbstractList$IteratorImpl_0(this$static.layers); l$iterator.i < l$iterator.this$0_0.size_1();) {
      l = dynamicCast($next_3(l$iterator), Q$Layout$Layer);
      l.left_0 = l.sourceLeft = l.targetLeft;
      l.top_0 = l.sourceTop = l.targetTop;
      l.right = l.sourceRight = l.targetRight;
      l.bottom = l.sourceBottom = l.targetBottom;
      l.width_0 = l.sourceWidth = l.targetWidth;
      l.height = l.sourceHeight = l.targetHeight;
      l.setLeft = l.setTargetLeft;
      l.setTop = l.setTargetTop;
      l.setRight = l.setTargetRight;
      l.setBottom = l.setTargetBottom;
      l.setWidth = l.setTargetWidth;
      l.setHeight = l.setTargetHeight;
      l.leftUnit = l.targetLeftUnit;
      l.topUnit = l.targetTopUnit;
      l.rightUnit = l.targetRightUnit;
      l.bottomUnit = l.targetBottomUnit;
      l.widthUnit = l.targetWidthUnit;
      l.heightUnit = l.targetHeightUnit;
      $layout_0(this$static.impl, l);
    }
    !!callback && !!callback.this$0.callback && $doAfterLayout(callback.this$0.callback.this$1.this$0);
    return;
  }
  parentWidth = this$static.parentElem.clientWidth | 0;
  parentHeight = this$static.parentElem.clientHeight | 0;
  for (l$iterator0 = new AbstractList$IteratorImpl_0(this$static.layers); l$iterator0.i < l$iterator0.this$0_0.size_1();) {
    l = dynamicCast($next_3(l$iterator0), Q$Layout$Layer);
    $adjustHorizontalConstraints(this$static, parentWidth, l);
    $adjustVerticalConstraints(this$static, parentHeight, l);
  }
  this$static.animation = new Layout$1_0(this$static, callback);
  $run(this$static.animation, duration, currentTimeMillis());
}

function $removeChild_0(this$static, layer){
  $removeChild_1(layer.container, layer.child);
  $remove_14(this$static.layers, layer);
}

function Layout_0(parent_0){
  this.impl = new LayoutImplIE8_0;
  this.layers = new ArrayList_0;
  this.parentElem = parent_0;
  $initParent(this.impl, parent_0);
}

defineSeed(216, 1, {}, Layout_0);
function $onComplete(this$static){
  this$static.this$0.animation = null;
  $layout(this$static.this$0, 0, null);
  !!this$static.val$callback && $onAnimationComplete(this$static.val$callback);
}

function Layout$1_0(this$0, val$callback){
  this.this$0 = this$0;
  this.val$callback = val$callback;
  Animation_0.call(this);
}

defineSeed(217, 3, {}, Layout$1_0);
_.onCancel = function onCancel_0(){
  $onComplete(this);
}
;
_.onComplete = function onComplete_0(){
  $onComplete(this);
}
;
_.onUpdate = function onUpdate(progress){
  var l, l$iterator, child;
  for (l$iterator = new AbstractList$IteratorImpl_0(this.this$0.layers); l$iterator.i < l$iterator.this$0_0.size_1();) {
    l = dynamicCast($next_3(l$iterator), Q$Layout$Layer);
    l.setTargetLeft && (l.left_0 = l.sourceLeft + (l.targetLeft - l.sourceLeft) * progress);
    l.setTargetRight && (l.right = l.sourceRight + (l.targetRight - l.sourceRight) * progress);
    l.setTargetTop && (l.top_0 = l.sourceTop + (l.targetTop - l.sourceTop) * progress);
    l.setTargetBottom && (l.bottom = l.sourceBottom + (l.targetBottom - l.sourceBottom) * progress);
    l.setTargetWidth && (l.width_0 = l.sourceWidth + (l.targetWidth - l.sourceWidth) * progress);
    l.setTargetHeight && (l.height = l.sourceHeight + (l.targetHeight - l.sourceHeight) * progress);
    $layout_0(this.this$0.impl, l);
    !!this.val$callback && (child = l.userObject , instanceOf(child, Q$RequiresResize) && dynamicCast(child, Q$RequiresResize).onResize() , undefined);
  }
}
;
function $setLeftRight(this$static, leftUnit, rightUnit){
  this$static.setTargetLeft = this$static.setTargetRight = true;
  this$static.setTargetWidth = false;
  this$static.targetLeft = 0;
  this$static.targetRight = 0;
  this$static.targetLeftUnit = leftUnit;
  this$static.targetRightUnit = rightUnit;
}

function $setLeftWidth(this$static, left, leftUnit, widthUnit){
  this$static.setTargetLeft = this$static.setTargetWidth = true;
  this$static.setTargetRight = false;
  this$static.targetLeft = left;
  this$static.targetWidth = 100;
  this$static.targetLeftUnit = leftUnit;
  this$static.targetWidthUnit = widthUnit;
}

function $setTopBottom(this$static, topUnit, bottomUnit){
  this$static.setTargetTop = this$static.setTargetBottom = true;
  this$static.setTargetHeight = false;
  this$static.targetTop = 2;
  this$static.targetBottom = 0;
  this$static.targetTopUnit = topUnit;
  this$static.targetBottomUnit = bottomUnit;
}

function $setTopHeight(this$static, top_0, topUnit, height, heightUnit){
  this$static.setTargetTop = this$static.setTargetHeight = true;
  this$static.setTargetBottom = false;
  this$static.targetTop = top_0;
  this$static.targetHeight = height;
  this$static.targetTopUnit = topUnit;
  this$static.targetHeightUnit = heightUnit;
}

function Layout$Layer_0(container, child, userObject){
  this.targetLeftUnit = ($clinit_Style$Unit() , PX);
  this.targetTopUnit = PX;
  this.targetRightUnit = PX;
  this.targetBottomUnit = PX;
  this.container = container;
  this.child = child;
  this.userObject = userObject;
}

defineSeed(218, 1, makeCastMap([Q$Layout$Layer]), Layout$Layer_0);
_.bottom = 0;
_.height = 0;
_.left_0 = 0;
_.right = 0;
_.setBottom = false;
_.setHeight = false;
_.setLeft = false;
_.setRight = false;
_.setTargetBottom = true;
_.setTargetHeight = false;
_.setTargetLeft = true;
_.setTargetRight = true;
_.setTargetTop = true;
_.setTargetWidth = false;
_.setTop = false;
_.setWidth = false;
_.sourceBottom = 0;
_.sourceHeight = 0;
_.sourceLeft = 0;
_.sourceRight = 0;
_.sourceTop = 0;
_.sourceWidth = 0;
_.targetBottom = 0;
_.targetHeight = 0;
_.targetLeft = 0;
_.targetRight = 0;
_.targetTop = 0;
_.targetWidth = 0;
_.top_0 = 0;
_.vPos = 2;
_.visible = true;
_.width_0 = 0;
function $clinit_LayoutImpl(){
  $clinit_LayoutImpl = nullMethod;
  fixedRuler = createRuler(($clinit_Style$Unit() , CM), CM);
  $appendChild($doc.body, fixedRuler);
}

function $attachChild_0(parent_0, child, before){
  var beforeContainer, container, style;
  container = $createElement($doc, 'div');
  container.appendChild(child);
  $setPropertyImpl(container.style, 'position', ($clinit_Style$Position() , 'absolute'));
  $setPropertyImpl(container.style, 'overflow', ($clinit_Style$Overflow() , 'hidden'));
  style = child.style;
  $setPropertyImpl(style, 'position', 'absolute');
  style['left'] = 0 + ($clinit_Style$Unit() , 'px');
  style['top'] = '0px';
  style['right'] = '0px';
  style['bottom'] = '0px';
  beforeContainer = null;
  !!before && (beforeContainer = $getParentElement(before));
  parent_0.insertBefore(container, beforeContainer);
  return container;
}

function $getUnitSizeInPixels(this$static, parent_0, unit, vertical){
  if (!unit) {
    return 1;
  }
  switch (unit.ordinal) {
    case 1:
      return (vertical?parent_0.clientHeight | 0:parent_0.clientWidth | 0) / 100;
    case 2:
      return ($getSubPixelOffsetWidth(this$static.relativeRuler) | 0) / 10;
    case 3:
      return ((this$static.relativeRuler.offsetHeight || 0) | 0) / 10;
    case 7:
      return ($getSubPixelOffsetWidth(fixedRuler) | 0) * 0.1;
    case 8:
      return ($getSubPixelOffsetWidth(fixedRuler) | 0) * 0.01;
    case 6:
      return ($getSubPixelOffsetWidth(fixedRuler) | 0) * 0.254;
    case 4:
      return ($getSubPixelOffsetWidth(fixedRuler) | 0) * 0.00353;
    case 5:
      return ($getSubPixelOffsetWidth(fixedRuler) | 0) * 0.0423;
    default:case 0:
      return 1;
  }
}

function $initParent(this$static, parent_0){
  $setPropertyImpl(parent_0.style, 'position', ($clinit_Style$Position() , 'relative'));
  $appendChild(parent_0, this$static.relativeRuler = createRuler(($clinit_Style$Unit() , EM), EX));
}

function $removeChild_1(container, child){
  var style;
  $removeFromParent(container);
  $getParentElement(child) == container && $removeFromParent(child);
  style = child.style;
  $setPropertyImpl(style, 'position', '');
  $setPropertyImpl(style, 'left', '');
  $setPropertyImpl(style, 'top', '');
  $setPropertyImpl(style, 'width', '');
  $setPropertyImpl(style, 'height', '');
}

function createRuler(widthUnit, heightUnit){
  var ruler, style;
  ruler = $createElement($doc, 'div');
  $setInnerHTML(ruler, '&nbsp;');
  style = ruler.style;
  $setPropertyImpl(style, 'position', ($clinit_Style$Position() , 'absolute'));
  $setPropertyImpl(style, 'zIndex', '-32767');
  $setPropertyImpl(style, 'top', -20 + heightUnit.getType());
  $setPropertyImpl(style, 'width', 10 + widthUnit.getType());
  $setPropertyImpl(style, 'height', 10 + heightUnit.getType());
  $setPropertyImpl(style, 'visibility', ($clinit_Style$Visibility() , 'hidden'));
  $set_0(($clinit_State() , HIDDEN), ruler, initValues(_3Ljava_lang_Boolean_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Object_$1]), Q$Boolean, [($clinit_Boolean() , $clinit_Boolean() , TRUE_0)]));
  return ruler;
}

defineSeed(219, 1, {});
var fixedRuler;
function $layout_0(this$static, layer){
  var oldDisplay, style;
  style = layer.container.style;
  setLayer(layer.container, layer);
  if (layer.visible) {
    oldDisplay = style['display'];
    $setPropertyImpl(style, 'display', '');
    oldDisplay.length > 0 && $updateVisibility(this$static, layer.container);
  }
   else {
    $setPropertyImpl(style, 'display', ($clinit_Style$Display() , 'none'));
  }
  layer.setLeft?$setValue(this$static, layer, 'left', layer.left_0, layer.leftUnit, false, false):$setPropertyImpl(style, 'left', '');
  layer.setRight?$setValue(this$static, layer, 'right', layer.right, layer.rightUnit, false, false):$setPropertyImpl(style, 'right', '');
  layer.setTop?$setValue(this$static, layer, 'top', layer.top_0, layer.topUnit, true, false):$setPropertyImpl(style, 'top', '');
  layer.setBottom?$setValue(this$static, layer, 'bottom', layer.bottom, layer.bottomUnit, true, false):$setPropertyImpl(style, 'bottom', '');
  layer.setWidth?$setValue(this$static, layer, 'width', layer.width_0, layer.widthUnit, false, true):$setPropertyImpl(style, 'width', '');
  layer.setHeight?$setValue(this$static, layer, 'height', layer.height, layer.heightUnit, true, true):$setPropertyImpl(style, 'height', '');
  style = layer.child.style;
  switch (2) {
    case 0:
    case 1:
    case 2:
      style['left'] = 0 + ($clinit_Style$Unit() , 'px');
      style['right'] = '0px';
  }
  switch (layer.vPos) {
    case 0:
      style['top'] = 0 + ($clinit_Style$Unit() , 'px');
      $setPropertyImpl(style, 'bottom', '');
      break;
    case 1:
      $setPropertyImpl(style, 'top', '');
      style['bottom'] = 0 + ($clinit_Style$Unit() , 'px');
      break;
    case 2:
      style['top'] = 0 + ($clinit_Style$Unit() , 'px');
      style['bottom'] = '0px';
  }
}

function $removeLayerRefs(parent_0){
  for (var i = 0; i < parent_0.childNodes.length; ++i) {
    var container = parent_0.childNodes[i];
    container.__layer && (container.__layer = null);
  }
}

function $setValue(this$static, layer, prop, value_0, unit, vertical, noNegative){
  switch (unit.ordinal) {
    case 0:
    case 1:
      break;
    default:value_0 = value_0 * $getUnitSizeInPixels(this$static, layer.container, unit, vertical);
      value_0 = round_int(value_0 + 0.5);
      unit = ($clinit_Style$Unit() , PX);
  }
  noNegative && value_0 < 0 && (value_0 = 0);
  layer.container.style[prop] = value_0 + unit.getType();
}

function $updateVisibility(this$static, container){
  var i, layer, node, nodes;
  layer = container.__layer;
  !!layer && $layout_0(this$static, layer);
  nodes = container.childNodes;
  for (i = 0; i < nodes.length; ++i) {
    node = nodes[i];
    node.nodeType == 1 && $updateVisibility(this$static, node);
  }
}

function LayoutImplIE8_0(){
  $clinit_LayoutImpl();
}

function setLayer(container, layer){
  container.__layer = layer;
}

defineSeed(220, 219, {}, LayoutImplIE8_0);
function $replace(this$static, input_0, replacement){
  return input_0.replace(this$static, replacement);
}

var instance_0;
function CommonResources_Bundle_ie8_default_InlineClientBundleGenerator_0(){
}

defineSeed(223, 1, {}, CommonResources_Bundle_ie8_default_InlineClientBundleGenerator_0);
var inlineBlockStyle;
function $ensureInjected(this$static){
  if (!this$static.injected) {
    this$static.injected = true;
    $clinit_StyleInjector();
    $push_0(toInject, '.GPBYFDEH{position:relative;display:inline-block;}');
    schedule();
    return true;
  }
  return false;
}

function CommonResources_Bundle_ie8_default_InlineClientBundleGenerator$1_0(){
}

defineSeed(224, 1, {}, CommonResources_Bundle_ie8_default_InlineClientBundleGenerator$1_0);
_.injected = false;
function $clinit_CommonResources_Bundle_ie8_default_InlineClientBundleGenerator$inlineBlockStyleInitializer(){
  $clinit_CommonResources_Bundle_ie8_default_InlineClientBundleGenerator$inlineBlockStyleInitializer = nullMethod;
  inlineBlockStyle = new CommonResources_Bundle_ie8_default_InlineClientBundleGenerator$1_0;
}

function ImageResourcePrototype_0(url_0){
  this.left_0 = 0;
  this.top_0 = 0;
  this.height = 9;
  this.width_0 = 5;
  this.url_0 = url_0;
}

defineSeed(226, 1, {}, ImageResourcePrototype_0);
_.height = 0;
_.left_0 = 0;
_.top_0 = 0;
_.width_0 = 0;
function $append_1(this$static, styles){
  $append_4(this$static.sb, styles.css);
  return this$static;
}

function SafeStylesBuilder_0(){
  this.sb = new StringBuilder_0;
}

defineSeed(227, 1, {}, SafeStylesBuilder_0);
function SafeStylesString_0(css){
  verifySafeStylesConstraints(css);
  this.css = css;
}

defineSeed(228, 1, makeCastMap([Q$SafeStyles, Q$SafeStylesString, Q$Serializable]), SafeStylesString_0);
_.equals$ = function equals_5(obj){
  if (!instanceOf(obj, Q$SafeStyles)) {
    return false;
  }
  return $equals(this.css, dynamicCast(dynamicCast(obj, Q$SafeStyles), Q$SafeStylesString).css);
}
;
_.hashCode$ = function hashCode_7(){
  return getHashCode_0(this.css);
}
;
function verifySafeStylesConstraints(styles){
  if (styles == null) {
    throw new NullPointerException_1('css is null');
  }
}

function OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(html){
  if (html == null) {
    throw new NullPointerException_1('html is null');
  }
  this.html = html;
}

defineSeed(230, 1, makeCastMap([Q$SafeHtml, Q$Serializable]), OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0);
_.asString = function asString(){
  return this.html;
}
;
_.equals$ = function equals_6(obj){
  if (!instanceOf(obj, Q$SafeHtml)) {
    return false;
  }
  return $equals(this.html, dynamicCast(obj, Q$SafeHtml).asString());
}
;
_.hashCode$ = function hashCode_8(){
  return getHashCode_0(this.html);
}
;
function SafeHtmlString_0(){
  this.html = '';
}

defineSeed(231, 1, makeCastMap([Q$SafeHtml, Q$Serializable]), SafeHtmlString_0);
_.asString = function asString_0(){
  return this.html;
}
;
_.equals$ = function equals_7(obj){
  if (!instanceOf(obj, Q$SafeHtml)) {
    return false;
  }
  return $equals(this.html, dynamicCast(obj, Q$SafeHtml).asString());
}
;
_.hashCode$ = function hashCode_9(){
  return getHashCode_0(this.html);
}
;
_.toString$ = function toString_12(){
  return 'safe: "' + this.html + '"';
}
;
function $clinit_SafeHtmlUtils(){
  $clinit_SafeHtmlUtils = nullMethod;
  new SafeHtmlString_0;
  AMP_RE = new RegExp('&', 'g');
  GT_RE = new RegExp('>', 'g');
  LT_RE = new RegExp('<', 'g');
  SQUOT_RE = new RegExp("'", 'g');
  QUOT_RE = new RegExp('"', 'g');
}

function htmlEscape(s){
  $clinit_SafeHtmlUtils();
  s.indexOf('&') != -1 && (s = $replace(AMP_RE, s, '&amp;'));
  s.indexOf('<') != -1 && (s = $replace(LT_RE, s, '&lt;'));
  s.indexOf('>') != -1 && (s = $replace(GT_RE, s, '&gt;'));
  s.indexOf('"') != -1 && (s = $replace(QUOT_RE, s, '&quot;'));
  s.indexOf("'") != -1 && (s = $replace(SQUOT_RE, s, '&#39;'));
  return s;
}

var AMP_RE, GT_RE, LT_RE, QUOT_RE, SQUOT_RE;
function SafeUriString_0(uri_0){
  if (uri_0 == null) {
    throw new NullPointerException_1('uri is null');
  }
  this.uri_0 = uri_0;
}

defineSeed(233, 1, makeCastMap([Q$SafeUri, Q$SafeUriString]), SafeUriString_0);
_.equals$ = function equals_8(obj){
  if (!instanceOf(obj, Q$SafeUri)) {
    return false;
  }
  return $equals(this.uri_0, dynamicCast(dynamicCast(obj, Q$SafeUri), Q$SafeUriString).uri_0);
}
;
_.hashCode$ = function hashCode_10(){
  return getHashCode_0(this.uri_0);
}
;
function $clinit_UriUtils(){
  $clinit_UriUtils = nullMethod;
  new RegExp('%5B', 'g');
  new RegExp('%5D', 'g');
}

function Storage_1(){
  this.storage = 'localStorage';
}

function getLocalStorageIfSupported(){
  if ((!supportDetectorImpl && (supportDetectorImpl = new Storage$StorageSupportDetector_0) , supportDetectorImpl).isLocalStorageSupported) {
    !localStorage_0 && (localStorage_0 = new Storage_1);
    return localStorage_0;
  }
  return null;
}

defineSeed(235, 1, {}, Storage_1);
var localStorage_0, supportDetectorImpl;
function Storage$StorageSupportDetector_0(){
  this.isLocalStorageSupported = $wnd.localStorage != null;
  $wnd.sessionStorage != null;
}

defineSeed(236, 1, {}, Storage$StorageSupportDetector_0);
_.isLocalStorageSupported = false;
function $clear(storage){
  $wnd[storage].clear();
}

function $getItem(storage, key){
  return $wnd[storage].getItem(key);
}

function $removeItem(storage, key){
  $getItem(storage, key);
  $wnd[storage].removeItem(key);
}

function $setItem(storage, key, data_0){
  $getItem(storage, key);
  $wnd[storage].setItem(key, data_0);
}

defineSeed(239, 1, {});
function PassthroughParser_0(){
}

defineSeed(240, 1, {}, PassthroughParser_0);
var INSTANCE_1;
function PassthroughRenderer_0(){
}

defineSeed(241, 239, {}, PassthroughRenderer_0);
var INSTANCE_2;
defineSeed(242, 1, makeCastMap([Q$EventHandler]));
function $clinit_DOM(){
  $clinit_DOM = nullMethod;
  impl_0 = new DOMImplIE8_0;
}

function appendChild(parent_0, child){
  $clinit_DOM();
  $appendChild(parent_0, ($clinit_PotentialElement() , $resolve(child)));
}

function dispatchEvent_1(evt, elem, listener){
  $clinit_DOM();
  var prevCurrentEvent;
  prevCurrentEvent = currentEvent;
  currentEvent = evt;
  elem == sCaptureElem && $eventGetTypeInt(evt.type) == 8192 && (sCaptureElem = null);
  listener.onBrowserEvent(evt);
  currentEvent = prevCurrentEvent;
}

function insertChild(parent_0, child, index_0){
  $clinit_DOM();
  $insertChild(parent_0, ($clinit_PotentialElement() , $resolve(child)), index_0);
}

function previewEvent(evt){
  $clinit_DOM();
  var ret;
  ret = fire_5(handlers_0, evt);
  if (!ret && !!evt) {
    $eventStopPropagation(evt);
    $eventPreventDefault(evt);
  }
  return ret;
}

function sinkEvents(elem, eventBits){
  $clinit_DOM();
  $sinkEvents(impl_0, elem, eventBits);
}

var currentEvent = null, impl_0, sCaptureElem;
function $onModuleLoad(){
  var allowedModes, currentMode, i;
  currentMode = $doc.compatMode;
  allowedModes = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Object_$1]), Q$String, ['CSS1Compat']);
  for (i = 0; i < allowedModes.length; i++) {
    if ($equals(allowedModes[i], currentMode)) {
      return;
    }
  }
  allowedModes.length == 1 && $equals('CSS1Compat', allowedModes[0]) && $equals('BackCompat', currentMode)?"GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').<br>Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,<br>e.g. by using &lt;!doctype html&gt; at the start of your application's HTML page.<br><br>To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding<br>the following line to your*.gwt.xml module file:<br>&nbsp;&nbsp;&lt;extend-configuration-property name=\"document.compatMode\" value=\"" + currentMode + '"/&gt;':"Your *.gwt.xml module configuration prohibits the use of the current doucment rendering mode (document.compatMode=' " + currentMode + "').<br>Modify your application's host HTML page doctype, or update your custom 'document.compatMode' configuration property settings.";
}

function $getTypeInt(this$static){
  return $clinit_DOM() , $eventGetTypeInt(this$static.type);
}

--></script>
<script><!--
function addNativePreviewHandler(handler){
  $clinit_DOM();
  $maybeInitializeEventSystem(impl_0);
  !TYPE_4 && (TYPE_4 = new GwtEvent$Type_0);
  if (!handlers_0) {
    handlers_0 = new HandlerManager_1(null, true);
    singleton = new Event$NativePreviewEvent_0;
  }
  return $addHandler(handlers_0, TYPE_4, handler);
}

function getTypeInt(typeName){
  return $eventGetTypeInt(($clinit_DOM() , typeName));
}

function sinkEvents_0(elem){
  $clinit_DOM();
  $sinkEvents(impl_0, elem, 32768);
}

var handlers_0;
function $dispatch_1(this$static, handler){
  $previewNativeEvent(handler.this$0, this$static);
  singleton.isFirstHandler = false;
}

function $revive(this$static){
  this$static.dead = false;
  this$static.source = null;
  this$static.isCanceled = false;
  this$static.isConsumed = false;
  this$static.isFirstHandler = true;
  this$static.nativeEvent = null;
}

function $setNativeEvent_0(this$static, nativeEvent){
  this$static.nativeEvent = nativeEvent;
}

function Event$NativePreviewEvent_0(){
}

function fire_5(handlers, nativeEvent){
  var lastIsCanceled, lastIsConsumed, lastIsFirstHandler, lastNativeEvent, ret;
  if (!!TYPE_4 && !!handlers && $isEventHandled(handlers, TYPE_4)) {
    lastIsCanceled = singleton.isCanceled;
    lastIsConsumed = singleton.isConsumed;
    lastIsFirstHandler = singleton.isFirstHandler;
    lastNativeEvent = singleton.nativeEvent;
    $revive(singleton);
    $setNativeEvent_0(singleton, nativeEvent);
    $fireEvent(handlers, singleton);
    ret = !(singleton.isCanceled && !singleton.isConsumed);
    singleton.isCanceled = lastIsCanceled;
    singleton.isConsumed = lastIsConsumed;
    singleton.isFirstHandler = lastIsFirstHandler;
    singleton.nativeEvent = lastNativeEvent;
    return ret;
  }
  return true;
}

defineSeed(247, 159, {}, Event$NativePreviewEvent_0);
_.dispatch = function dispatch_4(handler){
  $dispatch_1(this, dynamicCast(handler, Q$Event$NativePreviewHandler));
}
;
_.getAssociatedType = function getAssociatedType_5(){
  return TYPE_4;
}
;
_.revive = function revive_0(){
  $revive(this);
}
;
_.isCanceled = false;
_.isConsumed = false;
_.isFirstHandler = false;
var TYPE_4, singleton;
function $clinit_History(){
  $clinit_History = nullMethod;
  impl_1 = new HistoryImpl_0;
  $init_0(impl_1)?null:(impl_1 = null);
}

function addValueChangeHandler(handler){
  $clinit_History();
  return impl_1?$addValueChangeHandler(impl_1, handler):null;
}

var impl_1;
function addCloseHandler(handler){
  maybeInitializeCloseHandlers();
  return addHandler(TYPE_1?TYPE_1:(TYPE_1 = new GwtEvent$Type_0), handler);
}

function addHandler(type_0, handler){
  return $addHandler((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1), type_0, handler);
}

function addResizeHandler(handler){
  maybeInitializeCloseHandlers();
  maybeInitializeResizeHandlers();
  return addHandler((!TYPE_2 && (TYPE_2 = new GwtEvent$Type_0) , TYPE_2), handler);
}

function alert_0(msg){
  $wnd.alert(msg);
}

function maybeInitializeCloseHandlers(){
  if (!closeHandlersInitialized) {
    $initHandler('function __gwt_initWindowCloseHandler(beforeunload, unload) {\n  var wnd = window\n  , oldOnBeforeUnload = wnd.onbeforeunload\n  , oldOnUnload = wnd.onunload;\n  \n  wnd.onbeforeunload = function(evt) {\n    var ret, oldRet;\n    try {\n      ret = beforeunload();\n    } finally {\n      oldRet = oldOnBeforeUnload && oldOnBeforeUnload(evt);\n    }\n    // Avoid returning null as IE6 will coerce it into a string.\n    // Ensure that "" gets returned properly.\n    if (ret != null) {\n      return ret;\n    }\n    if (oldRet != null) {\n      return oldRet;\n    }\n    // returns undefined.\n  };\n  \n  wnd.onunload = function(evt) {\n    try {\n      unload();\n    } finally {\n      oldOnUnload && oldOnUnload(evt);\n      wnd.onresize = null;\n      wnd.onscroll = null;\n      wnd.onbeforeunload = null;\n      wnd.onunload = null;\n    }\n  };\n  \n  // Remove the reference once we\'ve initialize the handler\n  wnd.__gwt_initWindowCloseHandler = undefined;\n}\n', new WindowImplIE$1_0);
    closeHandlersInitialized = true;
  }
}

function maybeInitializeResizeHandlers(){
  if (!resizeHandlersInitialized) {
    $initHandler("function __gwt_initWindowResizeHandler(resize) {\n  var wnd = window, oldOnResize = wnd.onresize;\n  \n  wnd.onresize = function(evt) {\n    try {\n      resize();\n    } finally {\n      oldOnResize && oldOnResize(evt);\n    }\n  };\n  \n  // Remove the reference once we've initialize the handler\n  wnd.__gwt_initWindowResizeHandler = undefined;\n}\n", new WindowImplIE$2_0);
    resizeHandlersInitialized = true;
  }
}

function onClosed(){
  closeHandlersInitialized && fire_1((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1), false);
}

function onClosing(){
  var event_0;
  if (closeHandlersInitialized) {
    event_0 = new Window$ClosingEvent_0;
    !!handlers_1 && $fireEvent(handlers_1, event_0);
    return null;
  }
  return null;
}

function onResize(){
  var height, width_0;
  if (resizeHandlersInitialized) {
    width_0 = $getClientWidth($doc);
    height = $getClientHeight($doc);
    if (lastResizeWidth != width_0 || lastResizeHeight != height) {
      lastResizeWidth = width_0;
      lastResizeHeight = height;
      fire_2((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1));
    }
  }
}

var closeHandlersInitialized = false, handlers_1, lastResizeHeight = 0, lastResizeWidth = 0, resizeHandlersInitialized = false;
function $clinit_Window$ClosingEvent(){
  $clinit_Window$ClosingEvent = nullMethod;
  TYPE_5 = new GwtEvent$Type_0;
}

function Window$ClosingEvent_0(){
  $clinit_Window$ClosingEvent();
}

defineSeed(250, 159, {}, Window$ClosingEvent_0);
_.dispatch = function dispatch_5(handler){
  throwClassCastExceptionUnlessNull(handler);
  null.nullMethod();
}
;
_.getAssociatedType = function getAssociatedType_6(){
  return TYPE_5;
}
;
var TYPE_5;
function Window$WindowHandlers_0(){
  HandlerManager_0.call(this, null);
}

defineSeed(251, 176, makeCastMap([Q$HasHandlers]), Window$WindowHandlers_0);
function $eventGetTypeInt(eventType){
  switch (eventType) {
    case 'blur':
      return 4096;
    case 'change':
      return 1024;
    case 'click':
      return 1;
    case 'dblclick':
      return 2;
    case 'focus':
      return 2048;
    case 'keydown':
      return 128;
    case 'keypress':
      return 256;
    case 'keyup':
      return 512;
    case 'load':
      return 32768;
    case 'losecapture':
      return 8192;
    case 'mousedown':
      return 4;
    case 'mousemove':
      return 64;
    case 'mouseout':
      return 32;
    case 'mouseover':
      return 16;
    case 'mouseup':
      return 8;
    case 'scroll':
      return 16384;
    case 'error':
      return 65536;
    case 'DOMMouseScroll':
    case 'mousewheel':
      return 131072;
    case 'contextmenu':
      return 262144;
    case 'paste':
      return 524288;
    case 'touchstart':
      return 1048576;
    case 'touchmove':
      return 2097152;
    case 'touchend':
      return 4194304;
    case 'touchcancel':
      return 8388608;
    case 'gesturestart':
      return 16777216;
    case 'gesturechange':
      return 33554432;
    case 'gestureend':
      return 67108864;
    default:return -1;
  }
}

function $maybeInitializeEventSystem(this$static){
  if (!eventSystemIsInitialized) {
    $initEventSystem();
    new DOMImpl$1_0(this$static);
    eventSystemIsInitialized = true;
  }
}

function cleanupDOM(dom){
  var allElements, elem, i, listener, maybeListener;
  allElements = $doc.getElementsByTagName('*');
  for (i = 0; i < allElements.length; i++) {
    elem = allElements[i];
    listener = (maybeListener = elem.__listener , isMyListener(maybeListener)?maybeListener:null);
    if (listener) {
      $maybeInitializeEventSystem(dom);
      $sinkEventsImpl(elem, 0);
      setEventListener(elem, null);
    }
    maybeRemoveDisposableEvent(elem);
  }
}

function getEventListener_0(elem){
  var maybeListener = elem.__listener;
  return isMyListener(maybeListener)?maybeListener:null;
}

function isMyListener(object){
  return !instanceOfJso(object) && instanceOf(object, Q$EventListener);
}

function maybeRemoveDisposableEvent(elem){
  var diEvents = elem.__gwt_disposeEvent;
  if (diEvents) {
    for (var i = 0, l = diEvents.length; i < l; i++) {
      var diEvent = diEvents[i];
      elem.removeEventListener(diEvent.event, diEvent.handler, diEvent.capture);
      elem.__gwt_disposeEvent = null;
    }
  }
}

function setEventListener(elem, listener){
  elem.__listener = listener;
}

defineSeed(252, 1, {});
var eventSystemIsInitialized = false;
function DOMImpl$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(253, 1, {}, DOMImpl$1_0);
function $initEventSystem(){
  $wnd.__gwt_globalEventArray == null && ($wnd.__gwt_globalEventArray = new Array);
  $wnd.__gwt_globalEventArray[$wnd.__gwt_globalEventArray.length] = $entry(function(){
    return previewEvent($wnd.event);
  }
  );
  var dispatchEvent_0 = $entry(function(){
    var oldEventTarget = currentEventTarget;
    currentEventTarget = this;
    if ($wnd.event.returnValue == null) {
      $wnd.event.returnValue = true;
      if (!previewEventImpl()) {
        currentEventTarget = oldEventTarget;
        return;
      }
    }
    var getEventListener = getEventListener_0;
    var listener, curElem = this;
    while (curElem && !(listener = getEventListener(curElem))) {
      curElem = curElem.parentElement;
    }
    listener && dispatchEvent_1($wnd.event, curElem, listener);
    currentEventTarget = oldEventTarget;
  }
  );
  var dispatchDblClickEvent = $entry(function(){
    var newEvent = $doc.createEventObject();
    $wnd.event.returnValue == null && $wnd.event.srcElement.fireEvent && $wnd.event.srcElement.fireEvent('onclick', newEvent);
    if (this.__eventBits & 2) {
      dispatchEvent_0.call(this);
    }
     else if ($wnd.event.returnValue == null) {
      $wnd.event.returnValue = true;
      previewEventImpl();
    }
  }
  );
  var dispatchUnhandledEvent = $entry(function(){
    this.__gwtLastUnhandledEvent = $wnd.event.type;
    dispatchEvent_0.call(this);
  }
  );
  var moduleName = $moduleName.replace(/\./g, '_');
  $wnd['__gwt_dispatchEvent_' + moduleName] = dispatchEvent_0;
  callDispatchEvent = (new Function('w', 'return function() { w.__gwt_dispatchEvent_' + moduleName + '.call(this) }'))($wnd);
  $wnd['__gwt_dispatchDblClickEvent_' + moduleName] = dispatchDblClickEvent;
  callDispatchDblClickEvent = (new Function('w', 'return function() { w.__gwt_dispatchDblClickEvent_' + moduleName + '.call(this)}'))($wnd);
  $wnd['__gwt_dispatchUnhandledEvent_' + moduleName] = dispatchUnhandledEvent;
  callDispatchUnhandledEvent = (new Function('w', 'return function() { w.__gwt_dispatchUnhandledEvent_' + moduleName + '.call(this)}'))($wnd);
  callDispatchOnLoadEvent = (new Function('w', 'return function() { w.__gwt_dispatchUnhandledEvent_' + moduleName + '.call(w.event.srcElement)}'))($wnd);
  var bodyDispatcher = $entry(function(){
    dispatchEvent_0.call($doc.body);
  }
  );
  var bodyDblClickDispatcher = $entry(function(){
    dispatchDblClickEvent.call($doc.body);
  }
  );
  $doc.body.attachEvent('onclick', bodyDispatcher);
  $doc.body.attachEvent('onmousedown', bodyDispatcher);
  $doc.body.attachEvent('onmouseup', bodyDispatcher);
  $doc.body.attachEvent('onmousemove', bodyDispatcher);
  $doc.body.attachEvent('onmousewheel', bodyDispatcher);
  $doc.body.attachEvent('onkeydown', bodyDispatcher);
  $doc.body.attachEvent('onkeypress', bodyDispatcher);
  $doc.body.attachEvent('onkeyup', bodyDispatcher);
  $doc.body.attachEvent('onfocus', bodyDispatcher);
  $doc.body.attachEvent('onblur', bodyDispatcher);
  $doc.body.attachEvent('ondblclick', bodyDblClickDispatcher);
  $doc.body.attachEvent('oncontextmenu', bodyDispatcher);
}

function $insertChild(parent_0, child, index_0){
  index_0 >= parent_0.children.length?parent_0.appendChild(child):parent_0.insertBefore(child, parent_0.children[index_0]);
}

function $sinkEvents(this$static, elem, bits){
  $maybeInitializeEventSystem(this$static);
  $sinkEventsImpl(elem, bits);
}

function $sinkEventsImpl(elem, bits){
  var chMask = (elem.__eventBits || 0) ^ bits;
  elem.__eventBits = bits;
  if (!chMask)
    return;
  chMask & 1 && (elem.onclick = bits & 1?callDispatchEvent:null);
  chMask & 3 && (elem.ondblclick = bits & 3?callDispatchDblClickEvent:null);
  chMask & 4 && (elem.onmousedown = bits & 4?callDispatchEvent:null);
  chMask & 8 && (elem.onmouseup = bits & 8?callDispatchEvent:null);
  chMask & 16 && (elem.onmouseover = bits & 16?callDispatchEvent:null);
  chMask & 32 && (elem.onmouseout = bits & 32?callDispatchEvent:null);
  chMask & 64 && (elem.onmousemove = bits & 64?callDispatchEvent:null);
  chMask & 128 && (elem.onkeydown = bits & 128?callDispatchEvent:null);
  chMask & 256 && (elem.onkeypress = bits & 256?callDispatchEvent:null);
  chMask & 512 && (elem.onkeyup = bits & 512?callDispatchEvent:null);
  chMask & 1024 && (elem.onchange = bits & 1024?callDispatchEvent:null);
  chMask & 2048 && (elem.onfocus = bits & 2048?callDispatchEvent:null);
  chMask & 4096 && (elem.onblur = bits & 4096?callDispatchEvent:null);
  chMask & 8192 && (elem.onlosecapture = bits & 8192?callDispatchEvent:null);
  chMask & 16384 && (elem.onscroll = bits & 16384?callDispatchEvent:null);
  chMask & 32768 && (elem.nodeName == 'IFRAME'?bits & 32768?elem.attachEvent('onload', callDispatchOnLoadEvent):elem.detachEvent('onload', callDispatchOnLoadEvent):(elem.onload = bits & 32768?callDispatchUnhandledEvent:null));
  chMask & 65536 && (elem.onerror = bits & 65536?callDispatchEvent:null);
  chMask & 131072 && (elem.onmousewheel = bits & 131072?callDispatchEvent:null);
  chMask & 262144 && (elem.oncontextmenu = bits & 262144?callDispatchEvent:null);
  chMask & 524288 && (elem.onpaste = bits & 524288?callDispatchEvent:null);
}

function previewEventImpl(){
  var isCancelled = false;
  for (var i = 0; i < $wnd.__gwt_globalEventArray.length; i++) {
    !$wnd.__gwt_globalEventArray[i]() && (isCancelled = true);
  }
  return !isCancelled;
}

defineSeed(255, 252, {});
var callDispatchDblClickEvent, callDispatchEvent, callDispatchOnLoadEvent, callDispatchUnhandledEvent;
function DOMImplIE8_0(){
}

defineSeed(254, 255, {}, DOMImplIE8_0);
function $get_1(this$static, elem){
  var index_0;
  index_0 = getIndex(elem);
  if (index_0 < 0) {
    return null;
  }
  return dynamicCast($get_4(this$static.uiObjectList, index_0), Q$UIObject);
}

function $put(this$static, uiObject){
  var index_0;
  if (!this$static.freeList) {
    index_0 = this$static.uiObjectList.size_0;
    $add_7(this$static.uiObjectList, uiObject);
  }
   else {
    index_0 = this$static.freeList.index_0;
    $set_1(this$static.uiObjectList, index_0, uiObject);
    this$static.freeList = this$static.freeList.next;
  }
  ($clinit_DOM() , uiObject.element)['__uiObjectID'] = index_0;
}

function $removeByElement(this$static, elem){
  var index_0;
  index_0 = getIndex(elem);
  elem['__uiObjectID'] = null;
  $set_1(this$static.uiObjectList, index_0, null);
  this$static.freeList = new ElementMapperImpl$FreeNode_0(index_0, this$static.freeList);
}

function ElementMapperImpl_0(){
  this.uiObjectList = new ArrayList_0;
}

function getIndex(elem){
  var index_0 = elem['__uiObjectID'];
  return index_0 == null?-1:index_0;
}

defineSeed(256, 1, {}, ElementMapperImpl_0);
_.freeList = null;
function ElementMapperImpl$FreeNode_0(index_0, next){
  this.index_0 = index_0;
  this.next = next;
}

defineSeed(257, 1, {}, ElementMapperImpl$FreeNode_0);
_.index_0 = 0;
function $addValueChangeHandler(this$static, handler){
  return $addHandler(this$static.handlers, (!TYPE_3 && (TYPE_3 = new GwtEvent$Type_0) , TYPE_3), handler);
}

function $init_0(this$static){
  var token_0 = '';
  var hash_0 = $wnd.location.hash;
  hash_0.length > 0 && (token_0 = this$static.decodeFragment(hash_0.substring(1)));
  setToken(token_0);
  var historyImpl = this$static;
  historyImpl.oldHandler = $wnd.onhashchange;
  $wnd.onhashchange = $entry(function(){
    var token = '', hash = $wnd.location.hash;
    hash.length > 0 && (token = historyImpl.decodeFragment(hash.substring(1)));
    historyImpl.newItemOnEvent(token);
    var oldHandler = historyImpl.oldHandler;
    oldHandler && oldHandler();
  }
  );
  return true;
}

function HistoryImpl_0(){
  this.handlers = new HandlerManager_0(null);
}

function setToken(token){
  token_1 = token;
}

defineSeed(258, 1, makeCastMap([Q$HasHandlers]), HistoryImpl_0);
_.decodeFragment = function decodeFragment(encodedFragment){
  return decodeURI(encodedFragment.replace('%23', '#'));
}
;
_.fireEvent_0 = function fireEvent_1(event_0){
  $fireEvent(this.handlers, event_0);
}
;
_.newItemOnEvent = function newItemOnEvent(historyToken){
  historyToken = historyToken == null?'':historyToken;
  if (!$equals(historyToken, token_1 == null?'':token_1)) {
    token_1 = historyToken;
    fire_4(this);
  }
}
;
var token_1 = '';
function $initHandler(initFunc, cmd){
  var scriptElem;
  scriptElem = $createScriptElement($doc, initFunc);
  $appendChild($doc.body, scriptElem);
  cmd.execute_0();
  $removeChild($doc.body, scriptElem);
}

function WindowImplIE$1_0(){
}

defineSeed(261, 1, {}, WindowImplIE$1_0);
_.execute_0 = function execute_3(){
  $wnd.__gwt_initWindowCloseHandler($entry(onClosing), $entry(onClosed));
}
;
function WindowImplIE$2_0(){
}

defineSeed(262, 1, {}, WindowImplIE$2_0);
_.execute_0 = function execute_4(){
  $wnd.__gwt_initWindowResizeHandler($entry(onResize));
}
;
function $addStyleName(this$static, style){
  setStyleName(this$static.getStyleElement(), style, true);
}

function $getElement(this$static){
  return $clinit_DOM() , this$static.element;
}

function $getOffsetHeight(this$static){
  return $getPropertyInt(($clinit_DOM() , this$static.element), 'offsetHeight');
}

function $getOffsetWidth(this$static){
  return $getPropertyInt(($clinit_DOM() , this$static.element), 'offsetWidth');
}

function $getStyleElement(this$static){
  return $clinit_DOM() , this$static.element;
}

function $replaceNode(node, newNode){
  var p = node.parentNode;
  if (!p) {
    return;
  }
  p.insertBefore(newNode, node);
  p.removeChild(node);
}

function $resolvePotentialElement(){
  throw new UnsupportedOperationException_0;
}

function $setElement(this$static, elem){
  $setElement_0(this$static, ($clinit_DOM() , elem));
}

function $setElement_0(this$static, elem){
  this$static.element = elem;
}

function $setHeight(this$static, height){
  ($clinit_DOM() , this$static.element).style['height'] = height;
}

function $setSize(this$static){
  ($clinit_DOM() , this$static.element).style['width'] = '1200px';
  this$static.element.style['height'] = '900px';
}

function $setStyleName(this$static, style){
  $setClassName(this$static.getStyleElement(), style);
}

function $setStyleName_0(this$static, style, add_0){
  setStyleName(this$static.getStyleElement(), style, add_0);
}

function $setWidth(this$static, width_0){
  ($clinit_DOM() , this$static.element).style['width'] = width_0;
}

function getStylePrimaryName(elem){
  var fullClassName, spaceIdx;
  fullClassName = elem.className;
  spaceIdx = $indexOf_0(fullClassName, fromCodePoint(32));
  if (spaceIdx >= 0) {
    return $substring_0(fullClassName, 0, spaceIdx);
  }
  return fullClassName;
}

function setStyleName(elem, style, add_0){
  if (!elem) {
    throw new RuntimeException_1('Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');
  }
  style = $trim(style);
  if (style.length == 0) {
    throw new IllegalArgumentException_1('Style names cannot be empty');
  }
  add_0?$addClassName(elem, style):$removeClassName(elem, style);
}

function setStylePrimaryName(elem, style){
  if (!elem) {
    throw new RuntimeException_1('Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');
  }
  style = $trim(style);
  if (style.length == 0) {
    throw new IllegalArgumentException_1('Style names cannot be empty');
  }
  updatePrimaryAndDependentStyleNames(elem, style);
}

function setVisible(elem, visible){
  elem.style.display = visible?'':'none';
  visible?elem.removeAttribute('aria-hidden'):elem.setAttribute('aria-hidden', 'true');
}

function updatePrimaryAndDependentStyleNames(elem, newPrimaryStyle){
  var classes = elem.className.split(/\s+/);
  if (!classes) {
    return;
  }
  var oldPrimaryStyle = classes[0];
  var oldPrimaryStyleLen = oldPrimaryStyle.length;
  classes[0] = newPrimaryStyle;
  for (var i = 1, n = classes.length; i < n; i++) {
    var name_0 = classes[i];
    name_0.length > oldPrimaryStyleLen && name_0.charAt(oldPrimaryStyleLen) == '-' && name_0.indexOf(oldPrimaryStyle) == 0 && (classes[i] = newPrimaryStyle + name_0.substring(oldPrimaryStyleLen));
  }
  elem.className = classes.join(' ');
}

defineSeed(267, 1, makeCastMap([Q$HasVisibility, Q$UIObject]));
_.getStyleElement = function getStyleElement(){
  return $getStyleElement(this);
}
;
_.resolvePotentialElement = function resolvePotentialElement(){
  return $resolvePotentialElement();
}
;
_.setHeight_0 = function setHeight(height){
  $setHeight(this, height);
}
;
_.setVisible = function setVisible_0(visible){
  setVisible(($clinit_DOM() , this.element), visible);
}
;
_.setWidth_0 = function setWidth(width_0){
  $setWidth(this, width_0);
}
;
_.toString$ = function toString_13(){
  if (!this.element) {
    return '(null handle)';
  }
  return ($clinit_DOM() , this.element).outerHTML;
}
;
function $addDomHandler(this$static, handler, type_0){
  var typeInt;
  typeInt = getTypeInt(type_0.name_0);
  typeInt == -1?($clinit_DOM() , this$static.element):this$static.eventsToSink == -1?sinkEvents(($clinit_DOM() , this$static.element), typeInt | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= typeInt);
  return $addHandler(!this$static.handlerManager?(this$static.handlerManager = new HandlerManager_0(this$static)):this$static.handlerManager, type_0, handler);
}

function $addHandler_1(this$static, handler, type_0){
  return $addHandler(!this$static.handlerManager?(this$static.handlerManager = new HandlerManager_0(this$static)):this$static.handlerManager, type_0, handler);
}

function $fireEvent_0(this$static, event_0){
  !!this$static.handlerManager && $fireEvent(this$static.handlerManager, event_0);
}

function $onAttach(this$static){
  var bitsToAdd;
  if (this$static.isAttached()) {
    throw new IllegalStateException_1("Should only call onAttach when the widget is detached from the browser's document");
  }
  this$static.attached = true;
  $clinit_DOM();
  setEventListener(this$static.element, this$static);
  bitsToAdd = this$static.eventsToSink;
  this$static.eventsToSink = -1;
  bitsToAdd > 0 && (this$static.eventsToSink == -1?sinkEvents(this$static.element, bitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= bitsToAdd));
  this$static.doAttachChildren();
  this$static.onLoad();
}

function $onBrowserEvent(this$static, event_0){
  var related;
  switch ($clinit_DOM() , $eventGetTypeInt(event_0.type)) {
    case 16:
    case 32:
      related = event_0.relatedTarget || (event_0.type == 'mouseout'?event_0.toElement:event_0.fromElement);
      if (!!related && isOrHasChildImpl(this$static.element, related)) {
        return;
      }

  }
  fireNativeEvent(event_0, this$static, this$static.element);
}

function $onDetach(this$static){
  if (!this$static.isAttached()) {
    throw new IllegalStateException_1("Should only call onDetach when the widget is attached to the browser's document");
  }
  try {
    this$static.onUnload();
  }
   finally {
    try {
      this$static.doDetachChildren();
    }
     finally {
      $clinit_DOM();
      setEventListener(this$static.element, null);
      this$static.attached = false;
    }
  }
}

function $removeFromParent_0(this$static){
  if (!this$static.parent_0) {
    $clinit_RootPanel();
    $contains_0(widgetsToDetach, this$static) && detachNow(this$static);
  }
   else if (instanceOf(this$static.parent_0, Q$HasWidgets)) {
    dynamicCast(this$static.parent_0, Q$HasWidgets).remove(this$static);
  }
   else if (this$static.parent_0) {
    throw new IllegalStateException_1("This widget's parent does not implement HasWidgets");
  }
}

function $replaceElement(this$static, elem){
  this$static.attached && ($clinit_DOM() , setEventListener(this$static.element, null));
  !!this$static.element && $replaceNode(this$static.element, elem);
  this$static.element = elem;
  this$static.attached && ($clinit_DOM() , setEventListener(this$static.element, this$static));
}

function $setParent(this$static, parent_0){
  var oldParent;
  oldParent = this$static.parent_0;
  if (!parent_0) {
    try {
      !!oldParent && oldParent.isAttached() && this$static.onDetach();
    }
     finally {
      this$static.parent_0 = null;
    }
  }
   else {
    if (oldParent) {
      throw new IllegalStateException_1('Cannot set a new parent without first clearing the old parent');
    }
    this$static.parent_0 = parent_0;
    parent_0.isAttached() && this$static.onAttach();
  }
}

function $sinkEvents_0(this$static, eventBitsToAdd){
  this$static.eventsToSink == -1?sinkEvents(($clinit_DOM() , this$static.element), eventBitsToAdd | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= eventBitsToAdd);
}

defineSeed(266, 267, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.doAttachChildren = function doAttachChildren(){
}
;
_.doDetachChildren = function doDetachChildren(){
}
;
_.fireEvent_0 = function fireEvent_2(event_0){
  $fireEvent_0(this, event_0);
}
;
_.isAttached = function isAttached(){
  return this.attached;
}
;
_.onAttach = function onAttach(){
  $onAttach(this);
}
;
_.onBrowserEvent = function onBrowserEvent(event_0){
  $onBrowserEvent(this, event_0);
}
;
_.onDetach = function onDetach(){
  $onDetach(this);
}
;
_.onLoad = function onLoad(){
}
;
_.onUnload = function onUnload(){
}
;
_.attached = false;
_.eventsToSink = 0;
defineSeed(265, 266, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]));
_.doAttachChildren = function doAttachChildren_0(){
  tryCommand(this, ($clinit_AttachDetachException() , attachCommand));
}
;
_.doDetachChildren = function doDetachChildren_0(){
  tryCommand(this, ($clinit_AttachDetachException() , detachCommand));
}
;
function $add(this$static, child, container){
  $removeFromParent_0(child);
  $add_5(this$static.children_0, child);
  $clinit_DOM();
  $appendChild(container, ($clinit_PotentialElement() , $resolve(child.element)));
  $setParent(child, this$static);
}

function $adjustIndex(this$static, child, beforeIndex){
  var idx;
  $checkIndexBoundsForInsertion(this$static, beforeIndex);
  if (child.parent_0 == this$static) {
    idx = $indexOf(this$static.children_0, child);
    idx < beforeIndex && --beforeIndex;
  }
  return beforeIndex;
}

function $checkIndexBoundsForAccess(this$static, index_0){
  if (index_0 < 0 || index_0 >= this$static.children_0.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
}

function $checkIndexBoundsForInsertion(this$static, index_0){
  if (index_0 < 0 || index_0 > this$static.children_0.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
}

function $getWidget(this$static, index_0){
  return $get_2(this$static.children_0, index_0);
}

function $getWidgetIndex(this$static, child){
  return $indexOf(this$static.children_0, child);
}

function $insert(this$static, child, container, beforeIndex){
  beforeIndex = $adjustIndex(this$static, child, beforeIndex);
  $removeFromParent_0(child);
  $insert_7(this$static.children_0, child, beforeIndex);
  insertChild(container, ($clinit_DOM() , child.element), beforeIndex);
  $setParent(child, this$static);
}

function $remove(this$static, index_0){
  return $remove_0(this$static, $get_2(this$static.children_0, index_0));
}

function $remove_0(this$static, w){
  var elem;
  if (w.parent_0 != this$static) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    elem = ($clinit_DOM() , w.element);
    $removeChild($getParentElement(elem), elem);
    $remove_8(this$static.children_0, w);
  }
  return true;
}

function ComplexPanel_0(){
  this.children_0 = new WidgetCollection_0(this);
}

defineSeed(264, 265, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]));
_.iterator = function iterator_0(){
  return new WidgetCollection$WidgetIterator_0(this.children_0);
}
;
_.remove = function remove(w){
  return $remove_0(this, w);
}
;
function $add_0(this$static, w){
  $add(this$static, w, ($clinit_DOM() , this$static.element));
}

function $remove_1(this$static, w){
  var removed;
  removed = $remove_0(this$static, w);
  removed && changeToStaticPositioning(($clinit_DOM() , w.element));
  return removed;
}

function changeToStaticPositioning(elem){
  $setPropertyImpl(elem.style, 'left', '');
  $setPropertyImpl(elem.style, 'top', '');
  $setPropertyImpl(elem.style, 'position', '');
}

defineSeed(263, 264, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]));
_.remove = function remove_0(w){
  return $remove_1(this, w);
}
;
function create(resource){
  return new ClippedImagePrototype_0(resource.url_0, resource.left_0, resource.top_0, resource.width_0, resource.height);
}

defineSeed(268, 1, {});
function $clinit_AttachDetachException(){
  $clinit_AttachDetachException = nullMethod;
  attachCommand = new AttachDetachException$1_0;
  detachCommand = new AttachDetachException$2_0;
}

function AttachDetachException_0(causes){
  UmbrellaException_2.call(this, causes);
}

--></script>
<script><!--
function tryCommand(hasWidgets, c){
  $clinit_AttachDetachException();
  var caught, e, w, w$iterator;
  caught = null;
  for (w$iterator = hasWidgets.iterator(); w$iterator.hasNext();) {
    w = dynamicCast(w$iterator.next_0(), Q$Widget);
    try {
      c.execute_1(w);
    }
     catch ($e0) {
      $e0 = wrap($e0);
      if (instanceOf($e0, Q$Throwable)) {
        e = $e0;
        !caught && (caught = new HashSet_0);
        $add_8(caught, e);
      }
       else 
        throw unwrap($e0);
    }
  }
  if (caught) {
    throw new AttachDetachException_0(caught);
  }
}

defineSeed(269, 181, makeCastMap([Q$UmbrellaException, Q$Serializable, Q$Throwable]), AttachDetachException_0);
var attachCommand, detachCommand;
function AttachDetachException$1_0(){
}

defineSeed(270, 1, {}, AttachDetachException$1_0);
_.execute_1 = function execute_5(w){
  w.onAttach();
}
;
function AttachDetachException$2_0(){
}

defineSeed(271, 1, {}, AttachDetachException$2_0);
_.execute_1 = function execute_6(w){
  w.onDetach();
}
;
function FocusWidget_0(elem){
  $setElement_0(this, ($clinit_DOM() , elem));
}

defineSeed(274, 266, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.onAttach = function onAttach_0(){
  var tabIndex;
  $onAttach(this);
  tabIndex = ($clinit_DOM() , this.element).tabIndex;
  -1 == tabIndex && $setTabIndex(this.element, 0);
}
;
function ButtonBase_0(elem){
  FocusWidget_0.call(this, elem);
}

defineSeed(273, 274, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
function Button_0(html){
  ButtonBase_0.call(this, $doc.createElement("<BUTTON type='button'><\/BUTTON>"));
  $setClassName(($clinit_DOM() , this.element), 'gwt-Button');
  $setInnerHTML(this.element, html);
}

function Button_1(html, handler){
  Button_0.call(this, html);
  $addDomHandler(this, handler, ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE_0));
}

defineSeed(272, 273, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), Button_0, Button_1);
function $setCellHorizontalAlignment(td, align_0){
  $setPropertyString(($clinit_DOM() , td), 'align', align_0.textAlignString);
}

function $setCellVerticalAlignment(td, align_0){
  $setCellVerticalAlignment_0(($clinit_DOM() , td), align_0);
}

function $setCellVerticalAlignment_0(td, align_0){
  $setPropertyImpl(td.style, 'verticalAlign', align_0.verticalAlignString);
}

function CellPanel_0(){
  ComplexPanel_0.call(this);
  this.table = ($clinit_DOM() , $createElement($doc, 'table'));
  this.body_0 = $createElement($doc, 'tbody');
  $appendChild(this.table, ($clinit_PotentialElement() , $resolve(this.body_0)));
  $setElement(this, this.table);
}

defineSeed(275, 264, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]));
function $initWidget(this$static, widget){
  var elem;
  if (this$static.widget) {
    throw new IllegalStateException_1('Composite.initWidget() may only be called once.');
  }
  $removeFromParent_0(widget);
  elem = ($clinit_DOM() , widget.element);
  $setElement_0(this$static, elem);
  isPotential(elem) && $setResolver(($clinit_PotentialElement() , elem), this$static);
  this$static.widget = widget;
  $setParent(widget, this$static);
}

defineSeed(276, 266, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.isAttached = function isAttached_0(){
  if (this.widget) {
    return this.widget.attached;
  }
  return false;
}
;
_.onAttach = function onAttach_1(){
  if (this.eventsToSink != -1) {
    $sinkEvents_0(this.widget, this.eventsToSink);
    this.eventsToSink = -1;
  }
  $onAttach(this.widget);
  $clinit_DOM();
  setEventListener(this.element, this);
}
;
_.onBrowserEvent = function onBrowserEvent_0(event_0){
  $onBrowserEvent(this, event_0);
  $onBrowserEvent(this.widget, event_0);
}
;
_.onDetach = function onDetach_0(){
  $onDetach_0(this.widget);
}
;
_.resolvePotentialElement = function resolvePotentialElement_0(){
  $setElement(this, $resolvePotentialElement());
  return $clinit_DOM() , this.element;
}
;
function $doAfterLayout(this$static){
  var layer;
  if (this$static.hidingWidget) {
    layer = this$static.hidingWidget.layoutData;
    $setWidgetVisible(this$static.hidingWidget, layer, false);
    $layout(this$static.layout, 0, null);
    this$static.hidingWidget = null;
  }
}

function $doBeforeLayout(this$static){
  var direction, hDirection, newIndex, newLayer, oldIndex, oldLayer, vDirection;
  oldLayer = !this$static.lastVisibleWidget?null:this$static.lastVisibleWidget.layoutData;
  newLayer = !this$static.visibleWidget?null:this$static.visibleWidget.layoutData;
  oldIndex = $getWidgetIndex(this$static, this$static.lastVisibleWidget);
  newIndex = $getWidgetIndex(this$static, this$static.visibleWidget);
  direction = oldIndex < newIndex?100:-100;
  vDirection = this$static.isAnimationVertical?direction:0;
  hDirection = this$static.isAnimationVertical?0:direction;
  this$static.hidingWidget = null;
  if (this$static.visibleWidget != this$static.lastVisibleWidget) {
    if (oldLayer) {
      $setTopHeight(oldLayer, 0, ($clinit_Style$Unit() , PCT), 100, PCT);
      $setLeftWidth(oldLayer, 0, PCT, PCT);
      $setWidgetVisible(this$static.lastVisibleWidget, oldLayer, true);
    }
    if (newLayer) {
      $setTopHeight(newLayer, vDirection, ($clinit_Style$Unit() , PCT), 100, PCT);
      $setLeftWidth(newLayer, hDirection, PCT, PCT);
      $setWidgetVisible(this$static.visibleWidget, newLayer, true);
    }
    $layout(this$static.layout, 0, null);
    this$static.hidingWidget = this$static.lastVisibleWidget;
  }
  if (oldLayer) {
    $setTopHeight(oldLayer, -vDirection, ($clinit_Style$Unit() , PCT), 100, PCT);
    $setLeftWidth(oldLayer, -hDirection, PCT, PCT);
    $setWidgetVisible(this$static.lastVisibleWidget, oldLayer, true);
  }
  if (newLayer) {
    $setTopHeight(newLayer, 0, ($clinit_Style$Unit() , PCT), 100, PCT);
    $setLeftWidth(newLayer, 0, PCT, PCT);
    $setWidgetVisible(this$static.visibleWidget, newLayer, true);
  }
  this$static.lastVisibleWidget = this$static.visibleWidget;
}

function $insert_0(this$static, widget, beforeIndex){
  var before;
  before = beforeIndex < this$static.children_0.size_0?$get_2(this$static.children_0, beforeIndex):null;
  $insert_1(this$static, widget, before);
}

function $insert_1(this$static, widget, before){
  var children, index_0, layer;
  $removeFromParent_0(widget);
  children = this$static.children_0;
  if (!before) {
    $insert_7(children, widget, children.size_0);
  }
   else {
    index_0 = $indexOf(children, before);
    $insert_7(children, widget, index_0);
  }
  layer = $attachChild(this$static.layout, ($clinit_DOM() , widget.element), before?before.element:null, widget);
  layer.visible = false;
  widget.setVisible(false);
  widget.layoutData = layer;
  $setParent(widget, this$static);
  $schedule_1(this$static.layoutCmd, 0);
}

function $remove_2(this$static, w){
  var layer, removed;
  removed = $remove_0(this$static, w);
  if (removed) {
    layer = w.layoutData;
    $removeChild_0(this$static.layout, layer);
    w.layoutData = null;
    this$static.visibleWidget == w && (this$static.visibleWidget = null);
    this$static.hidingWidget == w && (this$static.hidingWidget = null);
    this$static.lastVisibleWidget == w && (this$static.lastVisibleWidget = null);
  }
  return removed;
}

function $setWidgetVisible(w, layer, visible){
  layer.visible = visible;
  w.setVisible(visible);
}

function $showWidget(this$static, index_0){
  $checkIndexBoundsForAccess(this$static, index_0);
  $showWidget_0(this$static, $get_2(this$static.children_0, index_0));
}

function $showWidget_0(this$static, widget){
  if (widget == this$static.visibleWidget) {
    return;
  }
  this$static.visibleWidget = widget;
  $schedule_1(this$static.layoutCmd, !widget?0:0);
}

defineSeed(277, 264, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$RequiresResize, Q$UIObject, Q$Widget]));
_.onAttach = function onAttach_2(){
  $onAttach(this);
}
;
_.onDetach = function onDetach_1(){
  $onDetach(this);
  $removeLayerRefs(this.layout.parentElem);
}
;
_.onResize = function onResize_0(){
  var child, child$iterator;
  for (child$iterator = new WidgetCollection$WidgetIterator_0(this.children_0); child$iterator.index_0 < child$iterator.this$0.size_0;) {
    child = $next_1(child$iterator);
    instanceOf(child, Q$RequiresResize) && dynamicCast(child, Q$RequiresResize).onResize();
  }
}
;
_.remove = function remove_1(w){
  return $remove_2(this, w);
}
;
_.isAnimationVertical = false;
function $schedule_0(this$static, duration, callback){
  this$static.duration = duration;
  this$static.callback = callback;
  this$static.canceled = false;
  if (!this$static.scheduled) {
    this$static.scheduled = true;
    $scheduleFinally(($clinit_SchedulerImpl() , INSTANCE_0), this$static);
  }
}

function LayoutCommand_0(layout){
  this.layout = layout;
}

defineSeed(279, 1, {}, LayoutCommand_0);
_.doBeforeLayout = function doBeforeLayout(){
}
;
_.execute_0 = function execute_7(){
  this.scheduled = false;
  if (this.canceled) {
    return;
  }
  this.doBeforeLayout();
  $layout(this.layout, this.duration, new LayoutCommand$1_0(this));
}
;
_.schedule = function schedule_0(duration, callback){
  $schedule_0(this, duration, callback);
}
;
_.canceled = false;
_.duration = 0;
_.scheduled = false;
function $schedule_1(this$static, duration){
  $schedule_0(this$static, duration, new DeckLayoutPanel$DeckAnimateCommand$1_0(this$static));
}

function DeckLayoutPanel$DeckAnimateCommand_0(this$0, layout){
  this.this$0 = this$0;
  LayoutCommand_0.call(this, layout);
}

defineSeed(278, 279, {}, DeckLayoutPanel$DeckAnimateCommand_0);
_.doBeforeLayout = function doBeforeLayout_0(){
  $doBeforeLayout(this.this$0);
}
;
_.schedule = function schedule_1(duration, callback){
  $schedule_1(this, duration);
}
;
function DeckLayoutPanel$DeckAnimateCommand$1_0(this$1){
  this.this$1 = this$1;
}

defineSeed(280, 1, {}, DeckLayoutPanel$DeckAnimateCommand$1_0);
function $remove_3(this$static, w){
  if (this$static.widget != w) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    $removeChild(this$static.getContainerElement(), ($clinit_DOM() , w.element));
    this$static.widget = null;
  }
  return true;
}

function $setWidget(this$static, w){
  if (w == this$static.widget) {
    return;
  }
  !!w && $removeFromParent_0(w);
  !!this$static.widget && this$static.remove(this$static.widget);
  this$static.widget = w;
  if (w) {
    $clinit_DOM();
    $appendChild(this$static.getContainerElement(), ($clinit_PotentialElement() , $resolve(this$static.widget.element)));
    $setParent(w, this$static);
  }
}

function SimplePanel_0(elem){
  $setElement_0(this, ($clinit_DOM() , elem));
}

defineSeed(283, 265, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]));
_.getContainerElement = function getContainerElement(){
  return $clinit_DOM() , this.element;
}
;
_.iterator = function iterator_1(){
  return new SimplePanel$1_0(this);
}
;
_.remove = function remove_2(w){
  return $remove_3(this, w);
}
;
function $eventTargetsPopup(this$static, event_0){
  var target;
  target = event_0.srcElement;
  if (is_0(target)) {
    return isOrHasChildImpl(($clinit_DOM() , this$static.element), target);
  }
  return false;
}

function $hide(this$static, autoClosed){
  if (!this$static.showing) {
    return;
  }
  $setState(this$static.resizeAnimation, false, false);
  fire_1(this$static, autoClosed);
}

function $maybeUpdateSize(this$static){
  var w;
  w = this$static.widget;
  if (w) {
    this$static.desiredHeight != null && w.setHeight_0(this$static.desiredHeight);
    this$static.desiredWidth != null && w.setWidth_0(this$static.desiredWidth);
  }
}

function $previewNativeEvent(this$static, event_0){
  var eventTargetsPopupOrPartner, nativeEvent, target, type_0;
  if (event_0.isCanceled || !this$static.previewAllNativeEvents && event_0.isConsumed) {
    this$static.modal && (event_0.isCanceled = true);
    return;
  }
  this$static.onPreviewNativeEvent(event_0);
  if (event_0.isCanceled) {
    return;
  }
  nativeEvent = event_0.nativeEvent;
  eventTargetsPopupOrPartner = $eventTargetsPopup(this$static, nativeEvent);
  eventTargetsPopupOrPartner && (event_0.isConsumed = true);
  this$static.modal && (event_0.isCanceled = true);
  type_0 = ($clinit_DOM() , $eventGetTypeInt(nativeEvent.type));
  switch (type_0) {
    case 512:
    case 256:
    case 128:
      {
        $eventGetKeyCode(nativeEvent) & 65535;
        ($eventGetShiftKey(nativeEvent)?1:0) | ($eventGetMetaKey(nativeEvent)?8:0) | ($eventGetCtrlKey(nativeEvent)?2:0) | ($eventGetAltKey(nativeEvent)?4:0);
        return;
      }

    case 4:
    case 1048576:
      if (sCaptureElem != null) {
        event_0.isConsumed = true;
        return;
      }

      if (!eventTargetsPopupOrPartner && this$static.autoHide) {
        $hide(this$static, true);
        return;
      }

      break;
    case 8:
    case 64:
    case 1:
    case 2:
    case 4194304:
      {
        if (sCaptureElem != null) {
          event_0.isConsumed = true;
          return;
        }
        break;
      }

    case 2048:
      {
        target = nativeEvent.srcElement;
        if (this$static.modal && !eventTargetsPopupOrPartner && !!target) {
          target.blur && target != $doc.body && target.blur();
          event_0.isCanceled = true;
          return;
        }
        break;
      }

  }
}

function $setAnimationEnabled(this$static, enable){
  this$static.isAnimationEnabled = enable;
}

function $setPopupPosition(this$static, left, top_0){
  var elem;
  this$static.leftPosition = left;
  this$static.topPosition = top_0;
  left -= $getBodyOffsetLeft($doc);
  top_0 -= $getBodyOffsetTop($doc);
  elem = ($clinit_DOM() , this$static.element);
  elem.style['left'] = left + ($clinit_Style$Unit() , 'px');
  elem.style['top'] = top_0 + 'px';
}

function $setPopupPositionAndShow(this$static, callback){
  ($clinit_DOM() , this$static.element).style['visibility'] = 'hidden';
  this$static.element;
  $show(this$static);
  callback.setPosition($getPropertyInt(this$static.element, 'offsetWidth'), $getPropertyInt(this$static.element, 'offsetHeight'));
  this$static.element.style['visibility'] = 'visible';
  this$static.element;
}

function $setPreviewingAllNativeEvents(this$static, previewAllNativeEvents){
  this$static.previewAllNativeEvents = previewAllNativeEvents;
}

function $setWidget_0(this$static, w){
  $setWidget(this$static, w);
  $maybeUpdateSize(this$static);
}

function $show(this$static){
  if (this$static.showing) {
    return;
  }
   else 
    this$static.attached && $removeFromParent_0(this$static);
  $setState(this$static.resizeAnimation, true, false);
}

function $updateHandlers(this$static){
  if (this$static.nativePreviewHandlerRegistration) {
    $removeHandler(this$static.nativePreviewHandlerRegistration.real);
    this$static.nativePreviewHandlerRegistration = null;
  }
  if (this$static.historyHandlerRegistration) {
    $removeHandler(this$static.historyHandlerRegistration.real);
    this$static.historyHandlerRegistration = null;
  }
  if (this$static.showing) {
    this$static.nativePreviewHandlerRegistration = addNativePreviewHandler(new PopupPanel$3_0(this$static));
    this$static.historyHandlerRegistration = addValueChangeHandler(new PopupPanel$4_0(this$static));
  }
}

function PopupPanel_0(){
  SimplePanel_0.call(this, ($clinit_DOM() , $createElement($doc, 'div')));
  this.glassResizer = new PopupPanel$1_0;
  this.animType = 0;
  this.isAnimationEnabled = false;
  this.leftPosition = -1;
  this.resizeAnimation = new PopupPanel$ResizeAnimation_0(this);
  this.topPosition = -1;
  $appendChild(this.element, $createElement($doc, 'div'));
  $setPopupPosition(this, 0, 0);
  $getParentElement($getFirstChildElement(this.element)).className = 'gwt-PopupPanel';
  $getFirstChildElement(this.element).className = 'popupContent';
  this.autoHide = true;
  this.autoHideOnHistoryEvents = true;
}

defineSeed(282, 283, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$PopupPanel, Q$UIObject, Q$Widget]));
_.getContainerElement = function getContainerElement_0(){
  return $clinit_DOM() , $getFirstChildElement(this.element);
}
;
_.getStyleElement = function getStyleElement_0(){
  return $getParentElement(($clinit_DOM() , $getFirstChildElement(this.element)));
}
;
_.onPreviewNativeEvent = function onPreviewNativeEvent(event_0){
  event_0.isFirstHandler && (event_0.nativeEvent , false) && (event_0.isCanceled = true);
}
;
_.onUnload = function onUnload_0(){
  this.showing && $setState(this.resizeAnimation, false, true);
}
;
_.setHeight_0 = function setHeight_0(height){
  this.desiredHeight = height;
  $maybeUpdateSize(this);
  height.length == 0 && (this.desiredHeight = null);
}
;
_.setVisible = function setVisible_1(visible){
  ($clinit_DOM() , this.element).style['visibility'] = visible?'visible':'hidden';
}
;
_.setWidth_0 = function setWidth_0(width_0){
  this.desiredWidth = width_0;
  $maybeUpdateSize(this);
  width_0.length == 0 && (this.desiredWidth = null);
}
;
_.animType = 0;
_.autoHide = false;
_.autoHideOnHistoryEvents = false;
_.isAnimationEnabled = false;
_.isGlassEnabled = false;
_.leftPosition = 0;
_.modal = false;
_.previewAllNativeEvents = false;
_.showing = false;
_.topPosition = 0;
function $setWidget_1(this$static, w){
  $setWidget(this$static.decPanel, w);
  $maybeUpdateSize(this$static);
}

defineSeed(281, 282, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$PopupPanel, Q$UIObject, Q$Widget]));
_.doAttachChildren = function doAttachChildren_1(){
  $onAttach(this.decPanel);
}
;
_.doDetachChildren = function doDetachChildren_1(){
  $onDetach(this.decPanel);
}
;
_.iterator = function iterator_2(){
  return new SimplePanel$1_0(this.decPanel);
}
;
_.remove = function remove_3(w){
  return $remove_3(this.decPanel, w);
}
;
function DecoratorPanel_0(rowStyles){
  var i, row, table, trElem;
  SimplePanel_0.call(this, ($clinit_DOM() , $createElement($doc, 'table')));
  table = this.element;
  this.tbody = $createElement($doc, 'tbody');
  appendChild(table, this.tbody);
  $setPropertyInt(table, 'cellSpacing', 0);
  $setPropertyInt(table, 'cellPadding', 0);
  for (i = 0; i < rowStyles.length; i++) {
    row = (trElem = $createElement($doc, 'tr') , $setClassName(trElem, rowStyles[i]) , appendChild(trElem, createTD(rowStyles[i] + 'Left')) , appendChild(trElem, createTD(rowStyles[i] + 'Center')) , appendChild(trElem, createTD(rowStyles[i] + 'Right')) , trElem);
    appendChild(this.tbody, row);
    i == 1 && (this.containerElem = $getFirstChildElement(row.children[1]));
  }
  $setClassName(this.element, 'gwt-DecoratorPanel');
}

function createTD(styleName){
  var inner, tdElem;
  tdElem = ($clinit_DOM() , $createElement($doc, 'td'));
  inner = $createElement($doc, 'div');
  $appendChild(tdElem, ($clinit_PotentialElement() , $resolve(inner)));
  $setClassName(tdElem, styleName);
  $setClassName(inner, styleName + 'Inner');
  return tdElem;
}

defineSeed(284, 283, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]), DecoratorPanel_0);
_.getContainerElement = function getContainerElement_1(){
  return $clinit_DOM() , this.containerElem;
}
;
function $setTextOrHtml(this$static, content_0){
  $setInnerText(this$static.element, content_0);
  if (this$static.textDir != this$static.initialElementDir) {
    this$static.textDir = this$static.initialElementDir;
    setDirectionOnElement(this$static.element, this$static.initialElementDir);
  }
}

function DirectionalTextHelper_0(element){
  this.element = element;
  this.initialElementDir = getDirectionOnElement(element);
  this.textDir = this.initialElementDir;
}

defineSeed(285, 1, {}, DirectionalTextHelper_0);
function $insert_2(this$static, w, beforeIndex){
  $insert(this$static, w, ($clinit_DOM() , this$static.element), beforeIndex);
}

function FlowPanel_0(){
  ComplexPanel_0.call(this);
  $setElement_0(this, ($clinit_DOM() , $createElement($doc, 'div')));
}

defineSeed(286, 264, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]), FlowPanel_0);
function $checkCellBounds(this$static, row, column){
  var cellSize;
  $checkRowBounds(this$static, row);
  if (column < 0) {
    throw new IndexOutOfBoundsException_1('Column ' + column + ' must be non-negative: ' + column);
  }
  cellSize = this$static.numColumns;
  if (cellSize <= column) {
    throw new IndexOutOfBoundsException_1('Column index: ' + column + ', Column size: ' + this$static.numColumns);
  }
}

function $checkRowBounds(this$static, row){
  var rowSize;
  rowSize = this$static.numRows;
  if (row >= rowSize || row < 0) {
    throw new IndexOutOfBoundsException_1('Row index: ' + row + ', Row size: ' + rowSize);
  }
}

function $cleanCell(this$static, row, column, clearInnerHTML){
  var td;
  td = $getRawElement(this$static.cellFormatter, row, column);
  $internalClearCell(this$static, ($clinit_DOM() , td), clearInnerHTML);
  return td;
}

function $internalClearCell(this$static, td, clearInnerHTML){
  var maybeChild, widget;
  maybeChild = ($clinit_DOM() , $getFirstChildElement(td));
  widget = null;
  !!maybeChild && (widget = dynamicCast($get_1(this$static.widgetMap, maybeChild), Q$Widget));
  if (widget) {
    $remove_4(this$static, widget);
    return true;
  }
   else {
    clearInnerHTML && $setInnerHTML(td, '');
    return false;
  }
}

function $remove_4(this$static, widget){
  var elem;
  if (widget.parent_0 != this$static) {
    return false;
  }
  try {
    $setParent(widget, null);
  }
   finally {
    elem = ($clinit_DOM() , widget.element);
    $removeChild($getParentElement(elem), elem);
    $removeByElement(this$static.widgetMap, elem);
  }
  return true;
}

function $removeRow(this$static, row){
  var column, columnCount;
  columnCount = this$static.numColumns;
  for (column = 0; column < columnCount; ++column) {
    $cleanCell(this$static, row, column, false);
  }
  $removeChild(this$static.bodyElem, $getRow(this$static.bodyElem, row));
}

function $setCellFormatter(this$static, cellFormatter){
  this$static.cellFormatter = cellFormatter;
}

function $setColumnFormatter(this$static, formatter){
  !!this$static.columnFormatter && (formatter.columnGroup = this$static.columnFormatter.columnGroup);
  this$static.columnFormatter = formatter;
  $prepareColumnGroup(this$static.columnFormatter);
}

function $setWidget_2(this$static, row, column, widget){
  var td;
  $prepareCell(this$static, row, column);
  td = $cleanCell(this$static, row, column, true);
  if (widget) {
    $removeFromParent_0(widget);
    $put(this$static.widgetMap, widget);
    appendChild(td, ($clinit_DOM() , widget.element));
    $setParent(widget, this$static);
  }
}

defineSeed(288, 265, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]));
_.iterator = function iterator_3(){
  return new HTMLTable$1_0(this);
}
;
_.remove = function remove_4(widget){
  return $remove_4(this, widget);
}
;
function $prepareCell(this$static, row, column){
  $prepareRow(this$static, row);
  if (column < 0) {
    throw new IndexOutOfBoundsException_1('Cannot access a column with a negative index: ' + column);
  }
  if (column >= this$static.numColumns) {
    throw new IndexOutOfBoundsException_1('Column index: ' + column + ', Column size: ' + this$static.numColumns);
  }
}

function $prepareRow(this$static, row){
  if (row < 0) {
    throw new IndexOutOfBoundsException_1('Cannot access a row with a negative index: ' + row);
  }
  if (row >= this$static.numRows) {
    throw new IndexOutOfBoundsException_1('Row index: ' + row + ', Row size: ' + this$static.numRows);
  }
}

function $removeRow_0(this$static, row){
  $removeRow(this$static, row);
  --this$static.numRows;
}

function $resizeColumns(this$static){
  var i, j, td, tr, tr_0, td_0, td_1;
  if (this$static.numColumns == 100) {
    return;
  }
  if (this$static.numColumns > 100) {
    for (i = 0; i < this$static.numRows; i++) {
      for (j = this$static.numColumns - 1; j >= 100; j--) {
        $checkCellBounds(this$static, i, j);
        td = $cleanCell(this$static, i, j, false);
        tr = $getRow(this$static.bodyElem, i);
        tr.removeChild(td);
      }
    }
  }
   else {
    for (i = 0; i < this$static.numRows; i++) {
      for (j = this$static.numColumns; j < 100; j++) {
        tr_0 = $getRow(this$static.bodyElem, i);
        td_0 = (td_1 = ($clinit_DOM() , $createElement($doc, 'td')) , $setInnerHTML(td_1, '&nbsp;') , $clinit_DOM() , td_1);
        $insertChild(tr_0, ($clinit_PotentialElement() , $resolve(td_0)), j);
      }
    }
  }
  this$static.numColumns = 100;
  $resizeColumnGroup(this$static.columnFormatter, 100, false);
}

function $resizeRows(this$static){
  if (this$static.numRows == 50) {
    return;
  }
  if (this$static.numRows < 50) {
    addRows(($clinit_DOM() , this$static.bodyElem), 50 - this$static.numRows, this$static.numColumns);
    this$static.numRows = 50;
  }
   else {
    while (this$static.numRows > 50) {
      $removeRow_0(this$static, this$static.numRows - 1);
    }
  }
}

function Grid_0(){
  this.widgetMap = new ElementMapperImpl_0;
  this.tableElem = ($clinit_DOM() , $createElement($doc, 'table'));
  this.bodyElem = $createElement($doc, 'tbody');
  appendChild(this.tableElem, this.bodyElem);
  $setElement(this, this.tableElem);
  $setCellFormatter(this, new HTMLTable$CellFormatter_0(this));
  $setColumnFormatter(this, new HTMLTable$ColumnFormatter_0(this));
  $resizeColumns(this);
  $resizeRows(this);
}

function addRows(table, rows_0, columns){
  var td = $doc.createElement('td');
  td.innerHTML = '&nbsp;';
  var row = $doc.createElement('tr');
  for (var cellNum = 0; cellNum < columns; cellNum++) {
    var cell = td.cloneNode(true);
    row.appendChild(cell);
  }
  table.appendChild(row);
  for (var rowNum = 1; rowNum < rows_0; rowNum++) {
    table.appendChild(row.cloneNode(true));
  }
}

defineSeed(287, 288, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]), Grid_0);
_.numColumns = 0;
_.numRows = 0;
function $findNext(this$static){
  while (++this$static.nextIndex < this$static.widgetList.size_0) {
    if ($get_4(this$static.widgetList, this$static.nextIndex) != null) {
      return;
    }
  }
}

function $next(this$static){
  var result;
  if (this$static.nextIndex >= this$static.widgetList.size_0) {
    throw new NoSuchElementException_0;
  }
  result = dynamicCast($get_4(this$static.widgetList, this$static.nextIndex), Q$Widget);
  this$static.lastIndex = this$static.nextIndex;
  $findNext(this$static);
  return result;
}

function HTMLTable$1_0(this$0){
  this.this$0 = this$0;
  this.widgetList = this.this$0.widgetMap.uiObjectList;
  $findNext(this);
}

defineSeed(289, 1, {}, HTMLTable$1_0);
_.hasNext = function hasNext(){
  return this.nextIndex < this.widgetList.size_0;
}
;
_.next_0 = function next_0(){
  return $next(this);
}
;
_.remove_0 = function remove_5(){
  var w;
  if (this.lastIndex < 0) {
    throw new IllegalStateException_0;
  }
  w = dynamicCast($get_4(this.widgetList, this.lastIndex), Q$Widget);
  $removeFromParent_0(w);
  this.lastIndex = -1;
}
;
_.lastIndex = -1;
_.nextIndex = -1;
function $getCellElement(tbody, row, col){
  return $getCells(tbody.children[row])[col];
}

function $getRawElement(this$static, row, column){
  return $getCellElement(this$static.this$0.bodyElem, row, column);
}

function $setStyleName_1(this$static, row, column){
  $prepareCell(this$static.this$0, row, column);
  $getCellElement(this$static.this$0.bodyElem, row, column).className = 'tableCell';
}

function HTMLTable$CellFormatter_0(this$0){
  this.this$0 = this$0;
}

defineSeed(290, 1, {}, HTMLTable$CellFormatter_0);
function $prepareColumnGroup(this$static){
  if (!this$static.columnGroup) {
    this$static.columnGroup = ($clinit_DOM() , $createElement($doc, 'colgroup'));
    insertChild(this$static.this$0.tableElem, this$static.columnGroup, 0);
    appendChild(this$static.columnGroup, $createElement($doc, 'col'));
  }
}

function $resizeColumnGroup(this$static, columns, growOnly){
  var i, num;
  columns = columns > 1?columns:1;
  num = this$static.columnGroup.childNodes.length;
  if (num < columns) {
    for (i = num; i < columns; i++) {
      $appendChild(this$static.columnGroup, $createElement($doc, 'col'));
    }
  }
   else if (!growOnly && num > columns) {
    for (i = num; i > columns; i--) {
      $removeChild(this$static.columnGroup, this$static.columnGroup.lastChild);
    }
  }
}

function HTMLTable$ColumnFormatter_0(this$0){
  this.this$0 = this$0;
}

defineSeed(291, 1, {}, HTMLTable$ColumnFormatter_0);
function $getCells(row){
  return row.children;
}

function $getRow(tbody, row){
  return $getRow_0(($clinit_DOM() , tbody), row);
}

function $getRow_0(tbody, row){
  return $clinit_DOM() , tbody.children[row];
}

--></script>
<script><!--
function $clinit_HasHorizontalAlignment(){
  $clinit_HasHorizontalAlignment = nullMethod;
  ALIGN_CENTER = new HasHorizontalAlignment$HorizontalAlignmentConstant_0(($clinit_Style$TextAlign() , 'center'));
  new HasHorizontalAlignment$HorizontalAlignmentConstant_0('justify');
  ALIGN_LEFT = new HasHorizontalAlignment$HorizontalAlignmentConstant_0('left');
  ALIGN_RIGHT = new HasHorizontalAlignment$HorizontalAlignmentConstant_0('right');
  ALIGN_LOCALE_START = ALIGN_LEFT;
  ALIGN_DEFAULT = ALIGN_LOCALE_START;
}

var ALIGN_CENTER, ALIGN_DEFAULT, ALIGN_LEFT, ALIGN_LOCALE_START, ALIGN_RIGHT;
defineSeed(294, 1, {});
function HasHorizontalAlignment$HorizontalAlignmentConstant_0(textAlignString){
  this.textAlignString = textAlignString;
}

defineSeed(295, 294, {}, HasHorizontalAlignment$HorizontalAlignmentConstant_0);
function $clinit_HasVerticalAlignment(){
  $clinit_HasVerticalAlignment = nullMethod;
  new HasVerticalAlignment$VerticalAlignmentConstant_0('bottom');
  ALIGN_MIDDLE = new HasVerticalAlignment$VerticalAlignmentConstant_0('middle');
  ALIGN_TOP = new HasVerticalAlignment$VerticalAlignmentConstant_0('top');
}

var ALIGN_MIDDLE, ALIGN_TOP;
function HasVerticalAlignment$VerticalAlignmentConstant_0(verticalAlignString){
  this.verticalAlignString = verticalAlignString;
}

defineSeed(296, 1, {}, HasVerticalAlignment$VerticalAlignmentConstant_0);
function $add_1(this$static, w){
  var td, td_0;
  td = (td_0 = ($clinit_DOM() , $createElement($doc, 'td')) , $setCellHorizontalAlignment(td_0, this$static.horzAlign) , $setCellVerticalAlignment(td_0, this$static.vertAlign) , td_0);
  appendChild(this$static.tableRow, td);
  $add(this$static, w, td);
}

function $setVerticalAlignment(this$static, align_0){
  this$static.vertAlign = align_0;
}

function HorizontalPanel_0(){
  CellPanel_0.call(this);
  this.horzAlign = ($clinit_HasHorizontalAlignment() , ALIGN_DEFAULT);
  this.vertAlign = ($clinit_HasVerticalAlignment() , ALIGN_TOP);
  this.tableRow = ($clinit_DOM() , $createElement($doc, 'tr'));
  appendChild(this.body_0, this.tableRow);
  $setPropertyString(this.table, 'cellSpacing', '0');
  $setPropertyString(this.table, 'cellPadding', '0');
}

defineSeed(297, 275, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]), HorizontalPanel_0);
_.remove = function remove_6(w){
  var removed, td;
  td = ($clinit_DOM() , $getParentElement(w.element));
  removed = $remove_0(this, w);
  removed && $removeChild(this.tableRow, td);
  return removed;
}
;
function $clinit_Image(){
  $clinit_Image = nullMethod;
  new HashMap_0;
}

function $changeState(this$static, newState){
  this$static.state = newState;
}

function Image_1(url_0){
  $changeState(this, new Image$UnclippedState_0(this, url_0));
  $setClassName(($clinit_DOM() , this.element), 'gwt-Image');
}

function Image_2(url_0){
  $clinit_Image();
  Image_1.call(this, ($clinit_UriUtils() , new SafeUriString_0(url_0)));
}

defineSeed(298, 266, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), Image_2);
_.onBrowserEvent = function onBrowserEvent_1(event_0){
  ($clinit_DOM() , $eventGetTypeInt(event_0.type)) == 32768 && !!this.state && $setPropertyString(this.element, '__gwtLastUnhandledEvent', '');
  $onBrowserEvent(this, event_0);
}
;
_.onLoad = function onLoad_0(){
  $onLoad(this.state, this);
}
;
function $onLoad(this$static, image){
  var unhandledEvent;
  unhandledEvent = $getPropertyString(($clinit_DOM() , image.element), '__gwtLastUnhandledEvent');
  $equals('load', unhandledEvent) && (this$static.syntheticEventCommand = new Image$State$1_0(this$static, image) , $scheduleDeferred(($clinit_SchedulerImpl() , INSTANCE_0), this$static.syntheticEventCommand));
}

defineSeed(299, 1, {});
_.syntheticEventCommand = null;
function Image$State$1_0(this$1, val$image){
  this.this$1 = this$1;
  this.val$image = val$image;
}

defineSeed(300, 1, {}, Image$State$1_0);
_.execute_0 = function execute_8(){
  var evt, evt_0;
  if (this.val$image.state != this.this$1 || this != this.this$1.syntheticEventCommand) {
    return;
  }
  this.this$1.syntheticEventCommand = null;
  if (!this.val$image.attached) {
    $setPropertyString($getImageElement(this.val$image), '__gwtLastUnhandledEvent', 'load');
    return;
  }
  evt = (evt_0 = $doc.createEventObject() , evt_0.type = 'load' , evt_0);
  $dispatchEvent($getImageElement(this.val$image), evt);
}
;
function $getImageElement(image){
  return $clinit_DOM() , image.element;
}

function Image$UnclippedState_0(image, url_0){
  $replaceElement(image, $createElement($doc, 'img'));
  sinkEvents_0(($clinit_DOM() , image.element));
  image.eventsToSink == -1?sinkEvents(image.element, 133398655 | (image.element.__eventBits || 0)):(image.eventsToSink |= 133398655);
  !!image.state && $setPropertyString(image.element, '__gwtLastUnhandledEvent', '');
  $imgSetSrc(image.element, url_0.uri_0);
}

defineSeed(301, 299, {}, Image$UnclippedState_0);
function LabelBase_0(element){
  $setElement_0(this, ($clinit_DOM() , element));
  this.directionalTextHelper = new DirectionalTextHelper_0(this.element);
}

defineSeed(303, 266, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
function Label_0(text_0){
  LabelBase_0.call(this, $createElement($doc, 'div'));
  $setClassName(($clinit_DOM() , this.element), 'gwt-Label');
  $setTextOrHtml(this.directionalTextHelper, text_0);
}

defineSeed(302, 303, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), Label_0);
function $onAnimationComplete(this$static){
  !!this$static.this$0.callback && $doAfterLayout(this$static.this$0.callback.this$1.this$0);
}

function LayoutCommand$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(304, 1, {}, LayoutCommand$1_0);
function $add_2(this$static, widget){
  $insert_3(this$static, widget, this$static.children_0.size_0);
}

function $insert_3(this$static, widget, beforeIndex){
  var layer;
  $removeFromParent_0(widget);
  $insert_7(this$static.children_0, widget, beforeIndex);
  layer = $attachChild(this$static.layout, ($clinit_DOM() , widget.element), null, widget);
  widget.layoutData = layer;
  $setParent(widget, this$static);
  this$static.layoutCmd.schedule(0, null);
}

function $onDetach_0(this$static){
  $onDetach(this$static);
  $removeLayerRefs(this$static.layout.parentElem);
}

function $onResize(this$static){
  var child, child$iterator;
  for (child$iterator = new WidgetCollection$WidgetIterator_0(this$static.children_0); child$iterator.index_0 < child$iterator.this$0.size_0;) {
    child = $next_1(child$iterator);
    instanceOf(child, Q$RequiresResize) && dynamicCast(child, Q$RequiresResize).onResize();
  }
}

function $setWidgetLeftRight(this$static, child, leftUnit, rightUnit){
  $setLeftRight(child.layoutData, leftUnit, rightUnit);
  this$static.layoutCmd.schedule(0, null);
}

function $setWidgetTopBottom(this$static, child, topUnit, bottomUnit){
  $setTopBottom(child.layoutData, topUnit, bottomUnit);
  this$static.layoutCmd.schedule(0, null);
}

function $setWidgetTopHeight(this$static, child, topUnit, heightUnit){
  $setTopHeight(child.layoutData, 0, topUnit, 2, heightUnit);
  this$static.layoutCmd.schedule(0, null);
}

function $setWidgetVerticalPosition(this$static, child){
  child.layoutData.vPos = 1;
  this$static.layoutCmd.schedule(0, null);
}

function LayoutPanel_0(){
  ComplexPanel_0.call(this);
  $setElement(this, $createElement($doc, 'div'));
  this.layout = new Layout_0(($clinit_DOM() , this.element));
  this.layoutCmd = new LayoutCommand_0(this.layout);
}

defineSeed(305, 264, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$RequiresResize, Q$UIObject, Q$Widget]), LayoutPanel_0);
_.onAttach = function onAttach_3(){
  $onAttach(this);
}
;
_.onDetach = function onDetach_2(){
  $onDetach_0(this);
}
;
_.onResize = function onResize_1(){
  $onResize(this);
}
;
_.remove = function remove_7(w){
  var removed;
  removed = $remove_0(this, w);
  removed && $removeChild_0(this.layout, w.layoutData);
  return removed;
}
;
function $checkIndex(this$static, index_0){
  if (index_0 < 0 || index_0 >= ($clinit_DOM() , this$static.element).options.length) {
    throw new IndexOutOfBoundsException_0;
  }
}

function $getItemText(this$static, index_0){
  $checkIndex(this$static, index_0);
  return $getOptionText(($clinit_DOM() , this$static.element).options[index_0]);
}

function $getOptionText(option){
  var text_0, node;
  text_0 = option.text;
  (node = option.getAttributeNode('bidiwrapped') , !!(node && node.specified)) && text_0.length > 1 && (text_0 = $substring_0(text_0, 1, text_0.length - 1));
  return text_0;
}

function $getSelectElement(this$static){
  return $clinit_DOM() , this$static.element;
}

function $insertItem(this$static, item_0, value_0, index_0){
  var before, itemCount, option, select;
  select = ($clinit_DOM() , this$static.element);
  option = $createElement($doc, 'option');
  option.text = item_0;
  option.removeAttribute('bidiwrapped');
  option.value = value_0;
  itemCount = select.options.length;
  (index_0 < 0 || index_0 > itemCount) && (index_0 = itemCount);
  if (index_0 == itemCount) {
    $selectAdd(select, option, null);
  }
   else {
    before = select.options[index_0];
    $selectAdd(select, option, before);
  }
}

function ListBox_0(){
  var html;
  FocusWidget_0.call(this, (html = '<SELECT>' , $doc.createElement(html)));
  $setClassName(($clinit_DOM() , this.element), 'gwt-ListBox');
}

defineSeed(306, 274, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), ListBox_0);
defineSeed(307, 242, makeCastMap([Q$EventHandler]));
function ListenerWrapper$WrappedPopupListener_0(listener){
  this.listener = listener;
}

defineSeed(308, 307, makeCastMap([Q$CloseHandler, Q$EventHandler]), ListenerWrapper$WrappedPopupListener_0);
_.onClose = function onClose(event_0){
  $onPopupClosed(this.listener, (dynamicCast(event_0.source, Q$PopupPanel) , event_0.autoClosed));
}
;
function $addItem(this$static, item_0){
  return $insertItem_0(this$static, item_0, this$static.allItems.size_0);
}

function $addItemElement(this$static, beforeIndex, tdElem){
  var tr;
  if (this$static.vertical) {
    tr = ($clinit_DOM() , $createElement($doc, 'tr'));
    insertChild(this$static.body_0, tr, beforeIndex);
    $appendChild(tr, ($clinit_PotentialElement() , $resolve(tdElem)));
  }
   else {
    tr = ($clinit_DOM() , this$static.body_0.children[0]);
    $insertChild(tr, ($clinit_PotentialElement() , $resolve(tdElem)), beforeIndex);
  }
}

function $addSeparator(this$static, separator){
  return $insertSeparator(this$static, separator, this$static.allItems.size_0);
}

function $close(this$static, focus_0){
  if (this$static.parentMenu) {
    $hide(this$static.parentMenu.popup, !focus_0);
    focus_0 && $focus(this$static.parentMenu);
  }
}

function $doItemAction(this$static, item_0, fireCommand){
  var cmd;
  $selectItem(this$static, item_0);
  if (fireCommand && !!item_0.command) {
    this$static.parentMenu?$close(this$static, false):$selectItem(this$static, null);
    cmd = item_0.command;
    $scheduleFinally(($clinit_SchedulerImpl() , INSTANCE_0), new MenuBar$1_0(cmd));
    if (this$static.shownChildMenu) {
      $onHide(this$static.shownChildMenu, true);
      $hide(this$static.popup, false);
      this$static.shownChildMenu = null;
      $selectItem(this$static, null);
    }
  }
   else if (item_0.subMenu) {
    if (!this$static.shownChildMenu) {
      $openPopup(this$static, item_0);
    }
     else if (item_0.subMenu != this$static.shownChildMenu) {
      $onHide(this$static.shownChildMenu, true);
      $hide(this$static.popup, false);
      $openPopup(this$static, item_0);
    }
     else if (fireCommand && !this$static.autoOpen) {
      $onHide(this$static.shownChildMenu, true);
      $hide(this$static.popup, false);
      this$static.shownChildMenu = null;
      $selectItem(this$static, item_0);
    }
  }
   else if (this$static.autoOpen && !!this$static.shownChildMenu) {
    $onHide(this$static.shownChildMenu, true);
    $hide(this$static.popup, false);
    this$static.shownChildMenu = null;
  }
}

function $findItem(this$static, hItem){
  var item_0, item$iterator;
  for (item$iterator = new AbstractList$IteratorImpl_0(this$static.items); item$iterator.i < item$iterator.this$0_0.size_1();) {
    item_0 = dynamicCast($next_3(item$iterator), Q$MenuItem);
    if (isOrHasChildImpl(($clinit_DOM() , item_0.element), hItem)) {
      return item_0;
    }
  }
  return null;
}

function $focus(this$static){
  $focus_0(($clinit_DOM() , this$static.element));
}

function $init_1(this$static, vertical, subMenuIcon){
  var outer, table, tr, e;
  this$static.subMenuIcon = subMenuIcon;
  table = ($clinit_DOM() , $createElement($doc, 'table'));
  this$static.body_0 = $createElement($doc, 'tbody');
  $appendChild(table, ($clinit_PotentialElement() , $resolve(this$static.body_0)));
  if (!vertical) {
    tr = $createElement($doc, 'tr');
    $appendChild(this$static.body_0, $resolve(tr));
  }
  this$static.vertical = vertical;
  outer = (e = $createElement($doc, 'div') , $setTabIndex(e, 0) , e);
  $appendChild(outer, $resolve(table));
  $setElement_0(this$static, outer);
  $clinit_Roles();
  $set(MENUBAR, this$static.element);
  this$static.eventsToSink == -1?sinkEvents(this$static.element, 2225 | (this$static.element.__eventBits || 0)):(this$static.eventsToSink |= 2225);
  $setClassName(this$static.element, 'gwt-MenuBar');
  vertical?$setStyleName_0(this$static, getStylePrimaryName(this$static.element) + '-vertical', true):$setStyleName_0(this$static, getStylePrimaryName(this$static.element) + '-horizontal', true);
  this$static.element.style['outline'] = '0px';
  $setAttribute(this$static.element, 'hideFocus', 'true');
  $addDomHandler(this$static, new MenuBar$2_0(this$static), ($clinit_BlurEvent() , $clinit_BlurEvent() , TYPE));
}

function $insertItem_0(this$static, item_0, beforeIndex){
  var i, itemsIndex;
  if (beforeIndex < 0 || beforeIndex > this$static.allItems.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
  $add_6(this$static.allItems, beforeIndex, item_0);
  itemsIndex = 0;
  for (i = 0; i < beforeIndex; i++) {
    instanceOf($get_4(this$static.allItems, i), Q$MenuItem) && ++itemsIndex;
  }
  $add_6(this$static.items, itemsIndex, item_0);
  $addItemElement(this$static, beforeIndex, ($clinit_DOM() , item_0.element));
  item_0.parentMenu = this$static;
  $setStyleName_0(item_0, getStylePrimaryName(item_0.element) + '-selected', false);
  $updateSubmenuIcon(this$static, item_0);
  return item_0;
}

function $insertSeparator(this$static, separator, beforeIndex){
  if (beforeIndex < 0 || beforeIndex > this$static.allItems.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
  this$static.vertical && $setPropertyInt(($clinit_DOM() , separator.element), 'colSpan', 2);
  $addItemElement(this$static, beforeIndex, ($clinit_DOM() , separator.element));
  $add_6(this$static.allItems, beforeIndex, separator);
  return separator;
}

function $itemOver(this$static, item_0){
  if (!item_0) {
    if (!!this$static.selectedItem && this$static.shownChildMenu == this$static.selectedItem.subMenu) {
      return;
    }
  }
  $selectItem(this$static, item_0);
  $focus_0(($clinit_DOM() , this$static.element));
  !!item_0 && (!!this$static.shownChildMenu || !!this$static.parentMenu || this$static.autoOpen) && $doItemAction(this$static, item_0, false);
}

function $moveSelectionDown(this$static){
  if ($selectFirstItemIfNoneSelected(this$static)) {
    return;
  }
  if (this$static.vertical) {
    $selectNextItem(this$static);
  }
   else {
    if (!!this$static.selectedItem.subMenu && this$static.selectedItem.subMenu.items.size_0 != 0 && (!this$static.shownChildMenu || !this$static.shownChildMenu.selectedItem)) {
      !this$static.shownChildMenu && $doItemAction(this$static, this$static.selectedItem, false);
      $focus(this$static.selectedItem.subMenu);
    }
     else 
      !!this$static.parentMenu && (this$static.parentMenu.vertical?$selectNextItem(this$static.parentMenu):$moveSelectionDown(this$static.parentMenu));
  }
}

function $moveSelectionUp(this$static){
  if ($selectFirstItemIfNoneSelected(this$static)) {
    return;
  }
  !this$static.shownChildMenu && this$static.vertical?$selectPrevItem(this$static):!!this$static.parentMenu && this$static.parentMenu.vertical?$selectPrevItem(this$static.parentMenu):$close(this$static, true);
}

function $moveToNextItem(this$static){
  if ($selectFirstItemIfNoneSelected(this$static)) {
    return;
  }
  if (this$static.vertical) {
    if (!!this$static.selectedItem.subMenu && this$static.selectedItem.subMenu.items.size_0 != 0 && (!this$static.shownChildMenu || !this$static.shownChildMenu.selectedItem)) {
      !this$static.shownChildMenu && $doItemAction(this$static, this$static.selectedItem, false);
      $focus(this$static.selectedItem.subMenu);
    }
     else 
      !!this$static.parentMenu && (this$static.parentMenu.vertical?$moveToNextItem(this$static.parentMenu):$selectNextItem(this$static.parentMenu));
  }
   else {
    $selectNextItem(this$static);
  }
}

function $moveToPrevItem(this$static){
  if ($selectFirstItemIfNoneSelected(this$static)) {
    return;
  }
  this$static.vertical?!!this$static.parentMenu && !this$static.parentMenu.vertical?$selectPrevItem(this$static.parentMenu):$close(this$static, true):$selectPrevItem(this$static);
}

function $onHide(this$static, focus_0){
  if (this$static.shownChildMenu) {
    $onHide(this$static.shownChildMenu, focus_0);
    $hide(this$static.popup, false);
    focus_0 && $focus_0(($clinit_DOM() , this$static.element));
  }
}

function $onPopupClosed(this$static, autoClosed){
  autoClosed && (this$static.parentMenu?$close(this$static, false):$selectItem(this$static, null));
  $onHide(this$static, !autoClosed);
  fire_1(this$static, false);
  this$static.shownChildMenu = null;
  this$static.popup = null;
  !!this$static.parentMenu && !!this$static.parentMenu.popup && $setPreviewingAllNativeEvents(this$static.parentMenu.popup, true);
}

function $openPopup(this$static, item_0){
  var primaryStyleName;
  !!this$static.parentMenu && !!this$static.parentMenu.popup && $setPreviewingAllNativeEvents(this$static.parentMenu.popup, false);
  this$static.popup = new MenuBar$3_0(this$static, item_0);
  this$static.popup.animType = 1;
  $setAnimationEnabled(this$static.popup, this$static.isAnimationEnabled);
  $setStyleName(this$static.popup, 'gwt-MenuBarPopup');
  primaryStyleName = getStylePrimaryName(($clinit_DOM() , this$static.element));
  $equals('gwt-MenuBar', primaryStyleName) || $addStyleName(this$static.popup, primaryStyleName + 'Popup');
  $addHandler_1(this$static.popup, new ListenerWrapper$WrappedPopupListener_0(this$static), TYPE_1?TYPE_1:(TYPE_1 = new GwtEvent$Type_0));
  this$static.shownChildMenu = item_0.subMenu;
  item_0.subMenu.parentMenu = this$static;
  $setPopupPositionAndShow(this$static.popup, new MenuBar$4_0(this$static, item_0));
}

function $selectFirstItemIfNoneSelected(this$static){
  var nextItem, nextItem$iterator;
  if (!this$static.selectedItem) {
    for (nextItem$iterator = new AbstractList$IteratorImpl_0(this$static.items); nextItem$iterator.i < nextItem$iterator.this$0_0.size_1();) {
      nextItem = dynamicCast($next_3(nextItem$iterator), Q$MenuItem);
      $selectItem(this$static, nextItem);
      break;
    }
    return true;
  }
  return false;
}

function $selectItem(this$static, item_0){
  var td, tr;
  if (item_0 == this$static.selectedItem) {
    return;
  }
  if (this$static.selectedItem) {
    $setSelectionStyle(this$static.selectedItem);
    if (this$static.vertical) {
      tr = ($clinit_DOM() , $clinit_DOM() , $getParentElement($getElement(this$static.selectedItem)));
      if (tr.children.length == 2) {
        td = tr.children[1];
        setStyleName(td, 'subMenuIcon-selected', false);
      }
    }
  }
  if (item_0) {
    $setStyleName_0(item_0, getStylePrimaryName(($clinit_DOM() , item_0.element)) + '-selected', true);
    if (this$static.vertical) {
      tr = $getParentElement(item_0.element);
      if (tr.children.length == 2) {
        td = tr.children[1];
        setStyleName(td, 'subMenuIcon-selected', true);
      }
    }
    $clinit_Roles();
    $setAriaActivedescendantProperty(this$static.element, new Id_0(item_0.element));
  }
  this$static.selectedItem = item_0;
}

function $selectNextItem(this$static){
  var firstIndex, index_0, itemToBeSelected;
  if (!this$static.selectedItem) {
    return;
  }
  index_0 = $indexOf_1(this$static.items, this$static.selectedItem, 0);
  firstIndex = index_0;
  while (true) {
    index_0 = index_0 + 1;
    index_0 == this$static.items.size_0 && (index_0 = 0);
    if (index_0 == firstIndex) {
      itemToBeSelected = dynamicCast($get_4(this$static.items, firstIndex), Q$MenuItem);
      break;
    }
     else {
      itemToBeSelected = dynamicCast($get_4(this$static.items, index_0), Q$MenuItem);
      break;
    }
  }
  $selectItem(this$static, itemToBeSelected);
  !!this$static.shownChildMenu && $doItemAction(this$static, itemToBeSelected, false);
}

function $selectPrevItem(this$static){
  var firstIndex, index_0, itemToBeSelected;
  if (!this$static.selectedItem) {
    return;
  }
  index_0 = $indexOf_1(this$static.items, this$static.selectedItem, 0);
  firstIndex = index_0;
  while (true) {
    index_0 = index_0 - 1;
    index_0 < 0 && (index_0 = this$static.items.size_0 - 1);
    if (index_0 == firstIndex) {
      itemToBeSelected = dynamicCast($get_4(this$static.items, firstIndex), Q$MenuItem);
      break;
    }
     else {
      itemToBeSelected = dynamicCast($get_4(this$static.items, index_0), Q$MenuItem);
      break;
    }
  }
  $selectItem(this$static, itemToBeSelected);
  !!this$static.shownChildMenu && $doItemAction(this$static, itemToBeSelected, false);
}

function $updateSubmenuIcon(this$static, item_0){
  var container, idx, submenu, td, tdCount, tr;
  if (!this$static.vertical) {
    return;
  }
  idx = $indexOf_1(this$static.allItems, item_0, 0);
  if (idx == -1) {
    return;
  }
  container = this$static.vertical?this$static.body_0:($clinit_DOM() , this$static.body_0.children[0]);
  tr = ($clinit_DOM() , $clinit_DOM() , container.children[idx]);
  tdCount = tr.children.length;
  submenu = item_0.subMenu;
  if (!submenu) {
    tdCount == 2 && $removeChild(tr, tr.children[1]);
    $setPropertyInt(item_0.element, 'colSpan', 2);
  }
   else if (tdCount == 1) {
    $setPropertyInt(item_0.element, 'colSpan', 1);
    td = $createElement($doc, 'td');
    $setPropertyString(td, 'vAlign', 'middle');
    $setInnerHTML(td, $getSafeHtml_0(this$static.subMenuIcon).html);
    $setClassName(td, 'subMenuIcon');
    $appendChild(tr, ($clinit_PotentialElement() , $resolve(td)));
  }
}

function MenuBar_0(){
  MenuBar_1.call(this, false);
}

function MenuBar_1(vertical){
  this.allItems = new ArrayList_0;
  this.items = new ArrayList_0;
  $init_1(this, vertical, create(($clinit_MenuBar_Resources_default_InlineClientBundleGenerator$menuBarSubMenuIconInitializer() , menuBarSubMenuIcon)));
}

defineSeed(309, 266, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), MenuBar_0, MenuBar_1);
_.onBrowserEvent = function onBrowserEvent_2(event_0){
  var item_0, keyCode;
  item_0 = $findItem(this, ($clinit_DOM() , event_0.srcElement));
  switch ($eventGetTypeInt(event_0.type)) {
    case 1:
      {
        $focus_0(this.element);
        !!item_0 && $doItemAction(this, item_0, true);
        break;
      }

    case 16:
      {
        !!item_0 && $itemOver(this, item_0);
        break;
      }

    case 32:
      {
        !!item_0 && $itemOver(this, null);
        break;
      }

    case 2048:
      {
        $selectFirstItemIfNoneSelected(this);
        break;
      }

    case 128:
      {
        keyCode = $eventGetKeyCode(event_0);
        keyCode = keyCode;
        switch (keyCode) {
          case 37:
            $moveToPrevItem(this);
            $eventStopPropagation(event_0);
            $eventPreventDefault(event_0);
            break;
          case 39:
            $moveToNextItem(this);
            $eventStopPropagation(event_0);
            $eventPreventDefault(event_0);
            break;
          case 38:
            $moveSelectionUp(this);
            $eventStopPropagation(event_0);
            $eventPreventDefault(event_0);
            break;
          case 40:
            $moveSelectionDown(this);
            $eventStopPropagation(event_0);
            $eventPreventDefault(event_0);
            break;
          case 27:
            this.parentMenu?$close(this, false):$selectItem(this, null);
            !this.parentMenu && !!this.popup && $hide(this.popup, false);
            $eventStopPropagation(event_0);
            $eventPreventDefault(event_0);
            break;
          case 9:
            this.parentMenu?$close(this, false):$selectItem(this, null);
            !this.parentMenu && !!this.popup && $hide(this.popup, false);
            break;
          case 13:
            if (!$selectFirstItemIfNoneSelected(this)) {
              $doItemAction(this, this.selectedItem, true);
              $eventStopPropagation(event_0);
              $eventPreventDefault(event_0);
            }

        }
        break;
      }

  }
  $onBrowserEvent(this, event_0);
}
;
_.onDetach = function onDetach_3(){
  !!this.popup && $hide(this.popup, false);
  $onDetach(this);
}
;
_.autoOpen = false;
_.isAnimationEnabled = false;
_.subMenuIcon = null;
_.vertical = false;
function MenuBar$1_0(val$cmd){
  this.val$cmd = val$cmd;
}

defineSeed(310, 1, {}, MenuBar$1_0);
_.execute_0 = function execute_9(){
  this.val$cmd.execute_0();
}
;
function MenuBar$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(311, 1, makeCastMap([Q$BlurHandler, Q$EventHandler]), MenuBar$2_0);
function MenuBar$3_0(this$0, val$item){
  var rowStyles;
  this.this$0 = this$0;
  this.val$item = val$item;
  PopupPanel_0.call(this);
  this.modal = false;
  rowStyles = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Object_$1]), Q$String, ['menuPopupTop', 'menuPopupMiddle', 'menuPopupBottom']);
  this.decPanel = new DecoratorPanel_0(rowStyles);
  $setStyleName(this.decPanel, '');
  setStylePrimaryName($getParentElement(($clinit_DOM() , $getFirstChildElement(this.element))), 'gwt-DecoratedPopupPanel');
  $setWidget_0(this, this.decPanel);
  setStyleName($getFirstChildElement(this.element), 'popupContent', false);
  setStyleName(this.decPanel.containerElem, 'menuPopupContent', true);
  $setWidget_1(this, this.val$item.subMenu);
  this.previewAllNativeEvents = true;
  $selectItem(this.val$item.subMenu, null);
}

defineSeed(312, 281, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$PopupPanel, Q$UIObject, Q$Widget]), MenuBar$3_0);
_.onPreviewNativeEvent = function onPreviewNativeEvent_0(event_0){
  var parentMenuElement, target;
  if (!event_0.isCanceled) {
    switch ($getTypeInt(event_0.nativeEvent)) {
      case 4:
        target = event_0.nativeEvent.srcElement;
        parentMenuElement = $getElement(this.val$item.parentMenu);
        if (isOrHasChildImpl(parentMenuElement, target)) {
          event_0.isCanceled = true;
          return;
        }

        event_0.isFirstHandler && (event_0.nativeEvent , false) && (event_0.isCanceled = true);
        event_0.isCanceled && $selectItem(this.this$0, null);
        return;
    }
  }
  event_0.isFirstHandler && (event_0.nativeEvent , false) && (event_0.isCanceled = true);
}
;
function MenuBar$4_0(this$0, val$item){
  this.this$0 = this$0;
  this.val$item = val$item;
}

defineSeed(313, 1, {}, MenuBar$4_0);
_.setPosition = function setPosition(offsetWidth, offsetHeight){
  this.this$0.vertical?$setPopupPosition(this.this$0.popup, $getAbsoluteLeft(($clinit_DOM() , this.this$0.element)) + $getOffsetWidth(this.this$0) - 1, $getAbsoluteTop(this.val$item.element)):$setPopupPosition(this.this$0.popup, $getAbsoluteLeft(($clinit_DOM() , this.val$item.element)), $getAbsoluteTop(this.this$0.element) + $getOffsetHeight(this.this$0) - 1);
}
;
var menuBarSubMenuIcon;
function $clinit_MenuBar_Resources_default_InlineClientBundleGenerator$menuBarSubMenuIconInitializer(){
  $clinit_MenuBar_Resources_default_InlineClientBundleGenerator$menuBarSubMenuIconInitializer = nullMethod;
  menuBarSubMenuIcon = new ImageResourcePrototype_0(($clinit_UriUtils() , new SafeUriString_0('')));
}

function $setSelectionStyle(this$static){
  $setStyleName_0(this$static, getStylePrimaryName(($clinit_DOM() , this$static.element)) + '-selected', false);
}

function $setSubMenu(this$static, subMenu){
  this$static.subMenu = subMenu;
  !!this$static.parentMenu && $updateSubmenuIcon(this$static.parentMenu, this$static);
  if (subMenu) {
    $setTabIndex(($clinit_DOM() , subMenu.element), -1);
    $clinit_Roles();
    $setAriaHaspopupProperty(this$static.element, true);
  }
   else {
    $clinit_Roles();
    $setAriaHaspopupProperty(($clinit_DOM() , this$static.element), false);
  }
}

function MenuItem_0(text_0, cmd){
  MenuItem_2.call(this, text_0);
  this.command = cmd;
}

function MenuItem_1(subMenu){
  MenuItem_2.call(this, 'Menu');
  $setSubMenu(this, subMenu);
}

--></script>
<script><!--
function MenuItem_2(text_0){
  $setElement_0(this, ($clinit_DOM() , $createElement($doc, 'td')));
  $setStyleName_0(this, getStylePrimaryName(this.element) + '-selected', false);
  $setInnerText(this.element, text_0);
  $setClassName(this.element, 'gwt-MenuItem');
  $setAttribute(this.element, 'id', $createUniqueId($doc));
  $clinit_Roles();
  $set(MENUITEM, this.element);
}

defineSeed(316, 267, makeCastMap([Q$HasVisibility, Q$MenuItem, Q$UIObject]), MenuItem_0, MenuItem_1);
function MenuItemSeparator_0(){
  var div;
  $setElement_0(this, ($clinit_DOM() , $createElement($doc, 'td')));
  $setClassName(this.element, 'gwt-MenuItemSeparator');
  div = $createElement($doc, 'div');
  $appendChild(this.element, ($clinit_PotentialElement() , $resolve(div)));
  $setClassName(div, 'menuSeparatorInner');
}

defineSeed(317, 267, makeCastMap([Q$HasVisibility, Q$UIObject]), MenuItemSeparator_0);
function $getText(this$static){
  return $getPropertyString(($clinit_DOM() , this$static.element), 'value');
}

function ValueBoxBase_0(elem){
  FocusWidget_0.call(this, elem);
  new AutoDirectionHandler_0;
}

defineSeed(321, 274, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.onBrowserEvent = function onBrowserEvent_3(event_0){
  var type_0;
  type_0 = ($clinit_DOM() , $eventGetTypeInt(event_0.type));
  (type_0 & 896) != 0?$onBrowserEvent(this, event_0):$onBrowserEvent(this, event_0);
}
;
_.onLoad = function onLoad_1(){
}
;
function $clinit_TextBoxBase(){
  $clinit_TextBoxBase = nullMethod;
  $clinit_ValueBoxBase$TextAlignment();
}

defineSeed(320, 321, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
function TextBox_0(){
  $clinit_TextBoxBase();
  TextBox_1.call(this, $createInputElement($doc, 'text'), 'gwt-TextBox');
}

function TextBox_1(element, styleName){
  ValueBoxBase_0.call(this, element, (!INSTANCE_2 && (INSTANCE_2 = new PassthroughRenderer_0) , !INSTANCE_1 && (INSTANCE_1 = new PassthroughParser_0)));
  styleName != null && $setClassName(($clinit_DOM() , this.element), styleName);
}

defineSeed(319, 320, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), TextBox_0);
function PasswordTextBox_0(){
  $clinit_TextBoxBase();
  TextBox_1.call(this, $createInputElement($doc, 'password'), 'gwt-PasswordTextBox');
}

defineSeed(318, 319, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), PasswordTextBox_0);
function $onResize_0(){
  var height, style, width_0, winHeight, winWidth;
  style = null.nullMethod();
  winWidth = $getClientWidth($doc);
  winHeight = $getClientHeight($doc);
  $setPropertyImpl(style, 'display', ($clinit_Style$Display() , 'none'));
  style['width'] = 0 + ($clinit_Style$Unit() , 'px');
  style['height'] = '0px';
  width_0 = ($getViewportElement($doc).scrollWidth || 0) | 0;
  height = ($getViewportElement($doc).scrollHeight || 0) | 0;
  style['width'] = (width_0 > winWidth?width_0:winWidth) + 'px';
  style['height'] = (height > winHeight?height:winHeight) + 'px';
  $setPropertyImpl(style, 'display', 'block');
}

function PopupPanel$1_0(){
}

defineSeed(322, 1, makeCastMap([Q$ResizeHandler, Q$EventHandler]), PopupPanel$1_0);
function PopupPanel$3_0(this$0){
  this.this$0 = this$0;
}

defineSeed(323, 1, makeCastMap([Q$EventHandler, Q$Event$NativePreviewHandler]), PopupPanel$3_0);
function PopupPanel$4_0(this$0){
  this.this$0 = this$0;
}

defineSeed(324, 1, makeCastMap([Q$ValueChangeHandler, Q$EventHandler]), PopupPanel$4_0);
function $maybeShowGlass(this$static){
  if (this$static.showing) {
    if (this$static.curPanel.isGlassEnabled) {
      $appendChild($doc.body, this$static.curPanel.glass);
      this$static.resizeRegistration = addResizeHandler(this$static.curPanel.glassResizer);
      $onResize_0();
      this$static.glassShowing = true;
    }
  }
   else if (this$static.glassShowing) {
    $removeChild($doc.body, this$static.curPanel.glass);
    $removeHandler(this$static.resizeRegistration.real);
    this$static.resizeRegistration = null;
    this$static.glassShowing = false;
  }
}

function $onComplete_0(this$static){
  if (!this$static.showing) {
    $maybeShowGlass(this$static);
    this$static.isUnloading || $remove_1(($clinit_RootPanel() , get_0()), this$static.curPanel);
    $clinit_DOM();
    this$static.curPanel.element;
  }
  $setClip(($clinit_DOM() , this$static.curPanel.element), 'rect(auto, auto, auto, auto)');
  this$static.curPanel.element.style['overflow'] = 'visible';
}

function $onInstantaneousRun(this$static){
  $maybeShowGlass(this$static);
  if (this$static.showing) {
    ($clinit_DOM() , this$static.curPanel.element).style['position'] = 'absolute';
    this$static.curPanel.topPosition != -1 && $setPopupPosition(this$static.curPanel, this$static.curPanel.leftPosition, this$static.curPanel.topPosition);
    $add_0(($clinit_RootPanel() , get_0()), this$static.curPanel);
    this$static.curPanel.element;
  }
   else {
    this$static.isUnloading || $remove_1(($clinit_RootPanel() , get_0()), this$static.curPanel);
    $clinit_DOM();
    this$static.curPanel.element;
  }
  ($clinit_DOM() , this$static.curPanel.element).style['overflow'] = 'visible';
}

function $onUpdate(this$static, progress){
  var bottom, height, left, right, top_0, width_0;
  this$static.showing || (progress = 1 - progress);
  top_0 = 0;
  left = 0;
  right = 0;
  bottom = 0;
  height = round_int(progress * this$static.offsetHeight_0);
  width_0 = round_int(progress * this$static.offsetWidth_0);
  switch (this$static.curPanel.animType) {
    case 2:
      right = this$static.offsetWidth_0;
      bottom = height;
      break;
    case 0:
      top_0 = this$static.offsetHeight_0 - height >> 1;
      left = this$static.offsetWidth_0 - width_0 >> 1;
      right = left + width_0;
      bottom = top_0 + height;
      break;
    case 1:
      right = width_0;
      bottom = height;
  }
  $setClip(($clinit_DOM() , this$static.curPanel.element), 'rect(' + top_0 + 'px, ' + right + 'px, ' + bottom + 'px, ' + left + 'px)');
}

function $setState(this$static, showing, isUnloading){
  var animate;
  this$static.isUnloading = isUnloading;
  $cancel(this$static);
  if (this$static.showTimer) {
    $cancel_0(this$static.showTimer);
    this$static.showTimer = null;
    $onComplete_0(this$static);
  }
  this$static.curPanel.showing = showing;
  $updateHandlers(this$static.curPanel);
  animate = !isUnloading && this$static.curPanel.isAnimationEnabled;
  this$static.curPanel.animType != 0 && !showing && (animate = false);
  this$static.showing = showing;
  if (animate) {
    if (showing) {
      $maybeShowGlass(this$static);
      ($clinit_DOM() , this$static.curPanel.element).style['position'] = 'absolute';
      this$static.curPanel.topPosition != -1 && $setPopupPosition(this$static.curPanel, this$static.curPanel.leftPosition, this$static.curPanel.topPosition);
      $setClip(this$static.curPanel.element, 'rect(0px, 0px, 0px, 0px)');
      $add_0(($clinit_RootPanel() , get_0()), this$static.curPanel);
      this$static.curPanel.element;
      this$static.showTimer = new PopupPanel$ResizeAnimation$1_0(this$static);
      $schedule(this$static.showTimer, 1);
    }
     else {
      $run(this$static, 200, currentTimeMillis());
    }
  }
   else {
    $onInstantaneousRun(this$static);
  }
}

function PopupPanel$ResizeAnimation_0(panel){
  Animation_0.call(this);
  this.curPanel = null;
  this.offsetWidth_0 = -1;
  this.curPanel = panel;
}

defineSeed(325, 3, {}, PopupPanel$ResizeAnimation_0);
_.onComplete = function onComplete_1(){
  $onComplete_0(this);
}
;
_.onStart = function onStart_0(){
  this.offsetHeight_0 = $getPropertyInt($getElement(this.curPanel), 'offsetHeight');
  this.offsetWidth_0 = $getPropertyInt($getElement(this.curPanel), 'offsetWidth');
  ($clinit_DOM() , this.curPanel.element).style['overflow'] = 'hidden';
  $onUpdate(this, (1 + cos_0(3.141592653589793)) / 2);
}
;
_.onUpdate = function onUpdate_0(progress){
  $onUpdate(this, progress);
}
;
_.glassShowing = false;
_.isUnloading = false;
_.offsetHeight_0 = 0;
_.offsetWidth_0 = 0;
_.showing = false;
function PopupPanel$ResizeAnimation$1_0(this$1){
  this.this$1 = this$1;
  Timer_0.call(this);
}

defineSeed(326, 10, {}, PopupPanel$ResizeAnimation$1_0);
_.run = function run_0(){
  this.this$1.showTimer = null;
  $run(this.this$1, 200, currentTimeMillis());
}
;
function $clinit_PotentialElement(){
  $clinit_PotentialElement = nullMethod;
  declareShim();
}

function $resolve(this$static){
  return this$static.__gwt_resolve?this$static.__gwt_resolve():this$static;
}

function $setResolver(this$static, resolver){
  this$static.__gwt_resolve = buildResolveCallback(resolver);
}

function buildResolveCallback(resolver){
  return function(){
    this.__gwt_resolve = cannotResolveTwice;
    return resolver.resolvePotentialElement();
  }
  ;
}

function cannotResolveTwice(){
  throw 'A PotentialElement cannot be resolved twice.';
}

function declareShim(){
  var shim = function(){
  }
  ;
  shim.prototype = {className:'', clientHeight:0, clientWidth:0, dir:'', getAttribute:function(name_0, value_0){
    return this[name_0];
  }
  , href:'', id:'', lang:'', nodeType:1, removeAttribute:function(name_0, value_0){
    this[name_0] = undefined;
  }
  , setAttribute:function(name_0, value_0){
    this[name_0] = value_0;
  }
  , src:'', style:{}, title:''};
  $wnd.GwtPotentialElementShim = shim;
}

function isPotential(o){
  $clinit_PotentialElement();
  try {
    return !!o && !!o.__gwt_resolve;
  }
   catch (e) {
    return false;
  }
}

defineSeed(328, 276, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$RequiresResize, Q$UIObject, Q$Widget]));
_.onResize = function onResize_2(){
  $onResize(this.widget);
}
;
function $clinit_RootPanel(){
  $clinit_RootPanel = nullMethod;
  maybeDetachCommand = new RootPanel$1_0;
  rootPanels = new HashMap_0;
  widgetsToDetach = new HashSet_0;
}

function RootPanel_0(elem){
  ComplexPanel_0.call(this);
  $setElement_0(this, ($clinit_DOM() , elem));
  $onAttach(this);
}

function detachNow(widget){
  $clinit_RootPanel();
  try {
    widget.onDetach();
  }
   finally {
    $remove_15(widgetsToDetach, widget);
  }
}

function detachWidgets(){
  $clinit_RootPanel();
  try {
    tryCommand(widgetsToDetach, maybeDetachCommand);
  }
   finally {
    $clearImpl(widgetsToDetach.map_0);
    $clearImpl(rootPanels);
  }
}

function get_0(){
  $clinit_RootPanel();
  var rp;
  rp = dynamicCast($get_3(rootPanels, null), Q$RootPanel);
  if (rp) {
    return rp;
  }
  rootPanels.size_0 == 0 && addCloseHandler(new RootPanel$3_0);
  rp = new RootPanel$DefaultRootPanel_0;
  $put_0(rootPanels, null, rp);
  $add_8(widgetsToDetach, rp);
  return rp;
}

defineSeed(329, 263, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$RootPanel, Q$UIObject, Q$Widget]));
var maybeDetachCommand, rootPanels, widgetsToDetach;
function RootPanel$1_0(){
}

defineSeed(330, 1, {}, RootPanel$1_0);
_.execute_1 = function execute_10(w){
  w.isAttached() && w.onDetach();
}
;
function RootPanel$3_0(){
}

defineSeed(331, 1, makeCastMap([Q$CloseHandler, Q$EventHandler]), RootPanel$3_0);
_.onClose = function onClose_0(closeEvent){
  detachWidgets();
}
;
function RootPanel$DefaultRootPanel_0(){
  RootPanel_0.call(this, $doc.body);
}

defineSeed(332, 329, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$RootPanel, Q$UIObject, Q$Widget]), RootPanel$DefaultRootPanel_0);
function $next_0(this$static){
  if (!this$static.hasElement || !this$static.this$0.widget) {
    throw new NoSuchElementException_0;
  }
  this$static.hasElement = false;
  return this$static.returned = this$static.this$0.widget;
}

function SimplePanel$1_0(this$0){
  this.this$0 = this$0;
  this.hasElement = !!this.this$0.widget;
}

defineSeed(333, 1, {}, SimplePanel$1_0);
_.hasNext = function hasNext_0(){
  return this.hasElement;
}
;
_.next_0 = function next_1(){
  return $next_0(this);
}
;
_.remove_0 = function remove_8(){
  !!this.returned && this.this$0.remove(this.returned);
}
;
_.hasElement = false;
_.returned = null;
function $add_3(this$static, child, text_0){
  $insert_6(this$static, child, text_0, this$static.deckPanel.children_0.size_0);
}

function $clear_0(this$static){
  var it;
  it = new WidgetCollection$WidgetIterator_0(this$static.deckPanel.children_0);
  while (it.index_0 < it.this$0.size_0) {
    $next_1(it);
    $remove_9(it);
  }
}

function $insert_4(this$static, child){
  $insert_6(this$static, !child?null:$asWidget(child), 'Module Map', 0);
}

function $insert_5(this$static, child, tab, beforeIndex){
  var idx;
  idx = $getWidgetIndex(this$static.deckPanel, child);
  if (idx != -1) {
    $remove_6(this$static, child);
    idx < beforeIndex && --beforeIndex;
  }
  $insert_0(this$static.deckPanel, child, beforeIndex);
  $add_6(this$static.tabs, beforeIndex, tab);
  $insert_2(this$static.tabBar, tab, beforeIndex);
  $addDomHandler(tab, new TabLayoutPanel$1_0(this$static, child), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE_0));
  setStyleName(child.getStyleElement(), 'gwt-TabLayoutPanelContent', true);
  this$static.selectedIndex_0 == -1?$selectTab(this$static, 0):this$static.selectedIndex_0 >= beforeIndex && ++this$static.selectedIndex_0;
}

function $insert_6(this$static, child, text_0, beforeIndex){
  var contents;
  contents = new Label_0(text_0);
  $insert_5(this$static, child, new TabLayoutPanel$Tab_0(this$static, contents), beforeIndex);
}

function $remove_5(this$static, index_0){
  var child, tab;
  if (index_0 < 0 || index_0 >= this$static.deckPanel.children_0.size_0) {
    return false;
  }
  child = $getWidget(this$static.deckPanel, index_0);
  $remove(this$static.tabBar, index_0);
  $remove_2(this$static.deckPanel, child);
  setStyleName(child.getStyleElement(), 'gwt-TabLayoutPanelContent', false);
  tab = dynamicCast($remove_13(this$static.tabs, index_0), Q$TabLayoutPanel$Tab);
  $removeFromParent_0(tab.widget);
  if (index_0 == this$static.selectedIndex_0) {
    this$static.selectedIndex_0 = -1;
    this$static.deckPanel.children_0.size_0 > 0 && $selectTab(this$static, 0);
  }
   else 
    index_0 < this$static.selectedIndex_0 && --this$static.selectedIndex_0;
  return true;
}

function $remove_6(this$static, w){
  var index_0;
  index_0 = $getWidgetIndex(this$static.deckPanel, w);
  if (index_0 == -1) {
    return false;
  }
  return $remove_5(this$static, index_0);
}

function $selectTab(this$static, index_0){
  if (index_0 == this$static.selectedIndex_0) {
    return;
  }
  fire_0(valueOf(index_0));
  this$static.selectedIndex_0 != -1 && $setSelected(dynamicCast($get_4(this$static.tabs, this$static.selectedIndex_0), Q$TabLayoutPanel$Tab), false);
  $showWidget(this$static.deckPanel, index_0);
  $setSelected(dynamicCast($get_4(this$static.tabs, index_0), Q$TabLayoutPanel$Tab), true);
  this$static.selectedIndex_0 = index_0;
  fire_3(valueOf(index_0));
}

function $selectTab_0(this$static, child){
  $selectTab(this$static, $getWidgetIndex(this$static.deckPanel, child));
}

function TabLayoutPanel_0(barUnit){
  var panel;
  this.deckPanel = new TabLayoutPanel$TabbedDeckLayoutPanel_0(this);
  this.tabBar = new FlowPanel_0;
  this.tabs = new ArrayList_0;
  panel = new LayoutPanel_0;
  $initWidget(this, panel);
  $add_2(panel, this.tabBar);
  $setWidgetLeftRight(panel, this.tabBar, ($clinit_Style$Unit() , PX), PX);
  $setWidgetTopHeight(panel, this.tabBar, PX, barUnit);
  $setWidgetVerticalPosition(panel, this.tabBar);
  $addStyleName(this.deckPanel, 'gwt-TabLayoutPanelContentContainer');
  $add_2(panel, this.deckPanel);
  $setWidgetLeftRight(panel, this.deckPanel, PX, PX);
  $setWidgetTopBottom(panel, this.deckPanel, barUnit, PX);
  $getElement(this.tabBar).style['width'] = '16384px';
  $setStyleName(this.tabBar, 'gwt-TabLayoutPanelTabs');
  $setClassName(($clinit_DOM() , this.element), 'gwt-TabLayoutPanel');
}

defineSeed(334, 328, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$RequiresResize, Q$UIObject, Q$Widget]), TabLayoutPanel_0);
_.iterator = function iterator_4(){
  return new WidgetCollection$WidgetIterator_0(this.deckPanel.children_0);
}
;
_.remove = function remove_9(w){
  return $remove_6(this, w);
}
;
_.selectedIndex_0 = -1;
function TabLayoutPanel$1_0(this$0, val$child){
  this.this$0 = this$0;
  this.val$child = val$child;
}

defineSeed(335, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), TabLayoutPanel$1_0);
_.onClick = function onClick(event_0){
  $selectTab_0(this.this$0, this.val$child);
}
;
function $setSelected(this$static, selected){
  selected?$setStyleName_0(this$static, getStylePrimaryName(($clinit_DOM() , this$static.element)) + '-selected', true):$setStyleName_0(this$static, getStylePrimaryName(($clinit_DOM() , this$static.element)) + '-selected', false);
}

function TabLayoutPanel$Tab_0(this$0, child){
  var style;
  this.this$0 = this$0;
  SimplePanel_0.call(this, $createElement($doc, 'div'));
  $appendChild(($clinit_DOM() , this.element), this.inner = $createElement($doc, 'div'));
  this.replacingWidget = true;
  $setWidget(this, child);
  this.replacingWidget = false;
  $setClassName(this.element, 'gwt-TabLayoutPanelTab');
  $setClassName(this.inner, 'gwt-TabLayoutPanelTabInner');
  $addClassName(this.element, (style = (!instance_0 && (instance_0 = new CommonResources_Bundle_ie8_default_InlineClientBundleGenerator_0) , $clinit_CommonResources_Bundle_ie8_default_InlineClientBundleGenerator$inlineBlockStyleInitializer() , inlineBlockStyle) , $ensureInjected(style) , 'GPBYFDEH'));
}

defineSeed(336, 283, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$TabLayoutPanel$Tab, Q$UIObject, Q$Widget]), TabLayoutPanel$Tab_0);
_.getContainerElement = function getContainerElement_2(){
  return this.inner;
}
;
_.remove = function remove_10(w){
  var index_0;
  index_0 = $indexOf_1(this.this$0.tabs, this, 0);
  return this.replacingWidget || index_0 < 0?$remove_3(this, w):$remove_5(this.this$0, index_0);
}
;
_.replacingWidget = false;
function TabLayoutPanel$TabbedDeckLayoutPanel_0(this$0){
  this.this$0 = this$0;
  ComplexPanel_0.call(this);
  $setElement(this, $createElement($doc, 'div'));
  this.layout = new Layout_0(($clinit_DOM() , this.element));
  this.layoutCmd = new DeckLayoutPanel$DeckAnimateCommand_0(this, this.layout);
}

defineSeed(337, 277, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$RequiresResize, Q$UIObject, Q$Widget]), TabLayoutPanel$TabbedDeckLayoutPanel_0);
_.remove = function remove_11(w){
  return $remove_6(this.this$0, w);
}
;
function $clinit_ValueBoxBase$TextAlignment(){
  $clinit_ValueBoxBase$TextAlignment = nullMethod;
  CENTER_0 = new ValueBoxBase$TextAlignment$1_0;
  JUSTIFY_0 = new ValueBoxBase$TextAlignment$2_0;
  LEFT_0 = new ValueBoxBase$TextAlignment$3_0;
  RIGHT_0 = new ValueBoxBase$TextAlignment$4_0;
  $VALUES_6 = initValues(_3Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Enum_$1, Q$Object_$1]), Q$ValueBoxBase$TextAlignment, [CENTER_0, JUSTIFY_0, LEFT_0, RIGHT_0]);
}

function ValueBoxBase$TextAlignment_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_7(){
  $clinit_ValueBoxBase$TextAlignment();
  return $VALUES_6;
}

defineSeed(338, 119, makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_6, CENTER_0, JUSTIFY_0, LEFT_0, RIGHT_0;
function ValueBoxBase$TextAlignment$1_0(){
  ValueBoxBase$TextAlignment_0.call(this, 'CENTER', 0);
}

defineSeed(339, 338, makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]), ValueBoxBase$TextAlignment$1_0);
function ValueBoxBase$TextAlignment$2_0(){
  ValueBoxBase$TextAlignment_0.call(this, 'JUSTIFY', 1);
}

defineSeed(340, 338, makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]), ValueBoxBase$TextAlignment$2_0);
function ValueBoxBase$TextAlignment$3_0(){
  ValueBoxBase$TextAlignment_0.call(this, 'LEFT', 2);
}

defineSeed(341, 338, makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]), ValueBoxBase$TextAlignment$3_0);
function ValueBoxBase$TextAlignment$4_0(){
  ValueBoxBase$TextAlignment_0.call(this, 'RIGHT', 3);
}

defineSeed(342, 338, makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]), ValueBoxBase$TextAlignment$4_0);
function $add_4(this$static, w){
  var td, tr, td_0;
  tr = ($clinit_DOM() , $createElement($doc, 'tr'));
  td = (td_0 = $createElement($doc, 'td') , $setCellHorizontalAlignment(td_0, this$static.horzAlign) , $setCellVerticalAlignment(td_0, this$static.vertAlign) , td_0);
  $appendChild(tr, ($clinit_PotentialElement() , $resolve(td)));
  $appendChild(this$static.body_0, $resolve(tr));
  $add(this$static, w, td);
}

function $setHorizontalAlignment(this$static, align_0){
  this$static.horzAlign = align_0;
}

function VerticalPanel_0(){
  CellPanel_0.call(this);
  this.horzAlign = ($clinit_HasHorizontalAlignment() , ALIGN_DEFAULT);
  this.vertAlign = ($clinit_HasVerticalAlignment() , ALIGN_TOP);
  $setPropertyString(($clinit_DOM() , this.table), 'cellSpacing', '0');
  $setPropertyString(this.table, 'cellPadding', '0');
}

defineSeed(343, 275, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]), VerticalPanel_0);
_.remove = function remove_12(w){
  var removed, td;
  td = ($clinit_DOM() , $clinit_DOM() , $getParentElement(w.element));
  removed = $remove_0(this, w);
  removed && $removeChild(this.body_0, $getParentElement(td));
  return removed;
}
;
function $add_5(this$static, w){
  $insert_7(this$static, w, this$static.size_0);
}

function $get_2(this$static, index_0){
  if (index_0 < 0 || index_0 >= this$static.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
  return this$static.array[index_0];
}

function $indexOf(this$static, w){
  var i;
  for (i = 0; i < this$static.size_0; ++i) {
    if (this$static.array[i] == w) {
      return i;
    }
  }
  return -1;
}

function $insert_7(this$static, w, beforeIndex){
  var i, i0, newArray;
  if (beforeIndex < 0 || beforeIndex > this$static.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
  if (this$static.size_0 == this$static.array.length) {
    newArray = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Widget, this$static.array.length * 2, 0);
    for (i0 = 0; i0 < this$static.array.length; ++i0) {
      setCheck(newArray, i0, this$static.array[i0]);
    }
    this$static.array = newArray;
  }
  ++this$static.size_0;
  for (i = this$static.size_0 - 1; i > beforeIndex; --i) {
    setCheck(this$static.array, i, this$static.array[i - 1]);
  }
  setCheck(this$static.array, beforeIndex, w);
}

function $remove_7(this$static, index_0){
  var i;
  if (index_0 < 0 || index_0 >= this$static.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
  --this$static.size_0;
  for (i = index_0; i < this$static.size_0; ++i) {
    setCheck(this$static.array, i, this$static.array[i + 1]);
  }
  setCheck(this$static.array, this$static.size_0, null);
}

function $remove_8(this$static, w){
  var index_0;
  index_0 = $indexOf(this$static, w);
  if (index_0 == -1) {
    throw new NoSuchElementException_0;
  }
  $remove_7(this$static, index_0);
}

function WidgetCollection_0(parent_0){
  this.parent_0 = parent_0;
  this.array = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Widget, 4, 0);
}

defineSeed(344, 1, {}, WidgetCollection_0);
_.iterator = function iterator_5(){
  return new WidgetCollection$WidgetIterator_0(this);
}
;
_.size_0 = 0;
function $next_1(this$static){
  if (this$static.index_0 >= this$static.this$0.size_0) {
    throw new NoSuchElementException_0;
  }
  this$static.currentWidget = this$static.this$0.array[this$static.index_0];
  ++this$static.index_0;
  return this$static.currentWidget;
}

function $remove_9(this$static){
  if (!this$static.currentWidget) {
    throw new IllegalStateException_0;
  }
  this$static.this$0.parent_0.remove(this$static.currentWidget);
  --this$static.index_0;
  this$static.currentWidget = null;
}

function WidgetCollection$WidgetIterator_0(this$0){
  this.this$0 = this$0;
}

defineSeed(345, 1, {}, WidgetCollection$WidgetIterator_0);
_.hasNext = function hasNext_1(){
  return this.index_0 < this.this$0.size_0;
}
;
_.next_0 = function next_2(){
  return $next_1(this);
}
;
_.remove_0 = function remove_13(){
  $remove_9(this);
}
;
_.index_0 = 0;
function $clinit_ClippedImageImpl(){
  var global, key;
  $clinit_ClippedImageImpl = nullMethod;
  clearImage = ($clinit_UriUtils() , new SafeUriString_0((key = '__gwtDevModeHook:' + $moduleName + ':moduleBase' , global = $wnd || self , global[key] || $moduleBase) + 'clear.cache.gif'));
}

function $getSafeHtml(url_0, left, top_0, width_0, height){
  var builder;
  builder = new SafeStylesBuilder_0;
  $append_1($append_1($append_1(builder, new SafeStylesString_0('width:' + width_0 + ($clinit_Style$Unit() , 'px') + ';')), new SafeStylesString_0('height:' + height + 'px;')), new SafeStylesString_0('background:url(' + url_0.uri_0 + ') no-repeat ' + -left + 'px ' + -top_0 + 'px;'));
  return !template && (template = new ClippedImageImpl_TemplateImpl_0) , $image(clearImage, new SafeStylesString_0((new SafeStylesString_0(builder.sb.impl.string)).css));
}

var clearImage, template;
function $image(arg0, arg1){
  var sb;
  sb = new StringBuilder_0;
  $append_0(sb.impl, "<img onload='this.__gwtLastUnhandledEvent=\"load\";' src='");
  $append_4(sb, htmlEscape(arg0.uri_0));
  $append_0(sb.impl, "' style='");
  $append_4(sb, htmlEscape(arg1.css));
  $append_0(sb.impl, "' border='0'>");
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string);
}

function ClippedImageImpl_TemplateImpl_0(){
}

defineSeed(347, 1, {}, ClippedImageImpl_TemplateImpl_0);
function $clinit_ClippedImagePrototype(){
  $clinit_ClippedImagePrototype = nullMethod;
  $clinit_ClippedImageImpl();
}

function $getSafeHtml_0(this$static){
  return $getSafeHtml(this$static.url_0, this$static.left_0, this$static.top_0, this$static.width_0, this$static.height);
}

function ClippedImagePrototype_0(url_0, left, top_0, width_0, height){
  $clinit_ClippedImagePrototype();
  this.url_0 = url_0;
  this.left_0 = left;
  this.top_0 = top_0;
  this.width_0 = width_0;
  this.height = height;
}

defineSeed(348, 268, {}, ClippedImagePrototype_0);
_.height = 0;
_.left_0 = 0;
_.top_0 = 0;
_.url_0 = null;
_.width_0 = 0;
function $focus_0(elem){
  try {
    elem.focus();
  }
   catch (e) {
    if (!elem || !elem.focus) {
      throw e;
    }
  }
}

function $setClip(popup, rect){
  $setPropertyImpl(popup.style, 'clip', rect);
}

function $getRuntimeValue(){
  var ua = navigator.userAgent.toLowerCase();
  var makeVersion = function(result){
    return parseInt(result[1]) * 1000 + parseInt(result[2]);
  }
  ;
  if (function(){
    return ua.indexOf('webkit') != -1;
  }
  ())
    return 'safari';
  if (function(){
    return ua.indexOf('msie') != -1 && $doc.documentMode >= 10;
  }
  ())
    return 'ie10';
  if (function(){
    return ua.indexOf('msie') != -1 && $doc.documentMode >= 9;
  }
  ())
    return 'ie9';
  if (function(){
    return ua.indexOf('msie') != -1 && $doc.documentMode >= 8;
  }
  ())
    return 'ie8';
  if (function(){
    return ua.indexOf('gecko') != -1;
  }
  ())
    return 'gecko1_8';
  return 'unknown';
}

function $clearOnReadyStateChange(this$static){
  var self_0 = this$static;
  setTimeout_0(function(){
    self_0.onreadystatechange = new Function;
  }
  , 0);
}

function $open(this$static, httpMethod, url_0){
  this$static.open(httpMethod, url_0, true);
}

function $setOnReadyStateChange(this$static, handler){
  var _this = this$static;
  this$static.onreadystatechange = $entry(function(){
    handler.onReadyStateChange(_this);
  }
  );
}

function create_0(){
  var xhr;
  if ($wnd.XMLHttpRequest) {
    xhr = new $wnd.XMLHttpRequest;
  }
   else {
    try {
      xhr = new $wnd.ActiveXObject('MSXML2.XMLHTTP.3.0');
    }
     catch (e) {
      xhr = new $wnd.ActiveXObject('Microsoft.XMLHTTP');
    }
  }
  return xhr;
}

function $removeHandler(this$static){
  this$static.this$0.doRemove(this$static.val$type, this$static.val$source, this$static.val$handler);
}

function SimpleEventBus$1_0(this$0, val$type, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$source = null;
  this.val$handler = val$handler;
}

defineSeed(355, 1, {}, SimpleEventBus$1_0);
function SimpleEventBus$2_0(this$0, val$type, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$handler = val$handler;
}

defineSeed(356, 1, makeCastMap([Q$SimpleEventBus$Command]), SimpleEventBus$2_0);
_.execute_0 = function execute_11(){
  $doAddNow(this.this$0, this.val$type, this.val$handler);
}
;
function SimpleEventBus$3_0(this$0, val$type, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$handler = val$handler;
}

defineSeed(357, 1, makeCastMap([Q$SimpleEventBus$Command]), SimpleEventBus$3_0);
_.execute_0 = function execute_12(){
  $doRemoveNow(this.this$0, this.val$type, this.val$handler);
}
;
function ArrayStoreException_0(){
  RuntimeException_0.call(this);
}

defineSeed(358, 84, makeCastMap([Q$Serializable, Q$Throwable]), ArrayStoreException_0);
--></script>
<script><!--
function $clinit_Boolean(){
  $clinit_Boolean = nullMethod;
  FALSE_0 = new Boolean_1(false);
  TRUE_0 = new Boolean_1(true);
}

function Boolean_1(value_0){
  this.value_0 = value_0;
}

defineSeed(359, 1, makeCastMap([Q$Serializable, Q$Boolean, Q$Comparable]), Boolean_1);
_.equals$ = function equals_9(o){
  return instanceOf(o, Q$Boolean) && dynamicCast(o, Q$Boolean).value_0 == this.value_0;
}
;
_.hashCode$ = function hashCode_11(){
  return this.value_0?1231:1237;
}
;
_.toString$ = function toString_14(){
  return this.value_0?'true':'false';
}
;
_.value_0 = false;
var FALSE_0, TRUE_0;
function digit(c){
  if (c >= 48 && c < 58) {
    return c - 48;
  }
  if (c >= 97 && c < 97) {
    return c - 97 + 10;
  }
  if (c >= 65 && c < 65) {
    return c - 65 + 10;
  }
  return -1;
}

function Class_0(){
}

function createForArray(packageName, className, seedId){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  isInstantiable(seedId != 0?-seedId:0) && setClassLiteral(seedId != 0?-seedId:0, clazz);
  clazz.modifiers = 4;
  return clazz;
}

function createForClass(packageName, className, seedId){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  isInstantiable(seedId) && setClassLiteral(seedId, clazz);
  return clazz;
}

function createForEnum(packageName, className, seedId, enumConstantsFunc){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  isInstantiable(seedId) && setClassLiteral(seedId, clazz);
  clazz.modifiers = enumConstantsFunc?8:0;
  return clazz;
}

function getSeedFunction(clazz){
  var func = seedTable[clazz.seedId];
  clazz = null;
  return func;
}

function isInstantiable(seedId){
  return typeof seedId == 'number' && seedId > 0;
}

function setClassLiteral(seedId, clazz){
  var proto;
  clazz.seedId = seedId;
  if (seedId == 2) {
    proto = String.prototype;
  }
   else {
    if (seedId > 0) {
      var seed = getSeedFunction(clazz);
      if (seed) {
        proto = seed.prototype;
      }
       else {
        seed = seedTable[seedId] = function(){
        }
        ;
        seed.___clazz$ = clazz;
        return;
      }
    }
     else {
      return;
    }
  }
  proto.___clazz$ = clazz;
}

defineSeed(361, 1, {}, Class_0);
_.toString$ = function toString_15(){
  return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + this.typeName;
}
;
_.modifiers = 0;
_.seedId = 0;
function ClassCastException_0(){
  RuntimeException_0.call(this);
}

defineSeed(362, 84, makeCastMap([Q$Serializable, Q$Throwable]), ClassCastException_0);
function __parseAndValidateInt(s){
  var i, isTooLow, length_0, startIndex, toReturn;
  if (s == null) {
    throw new NumberFormatException_0('null');
  }
  length_0 = s.length;
  startIndex = length_0 > 0 && (s.charCodeAt(0) == 45 || s.charCodeAt(0) == 43)?1:0;
  for (i = startIndex; i < length_0; i++) {
    if (digit(s.charCodeAt(i)) == -1) {
      throw new NumberFormatException_0('For input string: "' + s + '"');
    }
  }
  toReturn = parseInt(s, 10);
  isTooLow = toReturn < -2147483648;
  if (isNaN(toReturn)) {
    throw new NumberFormatException_0('For input string: "' + s + '"');
  }
   else if (isTooLow || toReturn > 2147483647) {
    throw new NumberFormatException_0('For input string: "' + s + '"');
  }
  return toReturn;
}

defineSeed(364, 1, makeCastMap([Q$Serializable, Q$Number]));
function Double_0(value_0){
  this.value_0 = value_0;
}

defineSeed(363, 364, makeCastMap([Q$Serializable, Q$Comparable, Q$Double, Q$Number]), Double_0);
_.equals$ = function equals_10(o){
  return instanceOf(o, Q$Double) && dynamicCast(o, Q$Double).value_0 == this.value_0;
}
;
_.hashCode$ = function hashCode_12(){
  return round_int(this.value_0);
}
;
_.toString$ = function toString_16(){
  return '' + this.value_0;
}
;
_.value_0 = 0;
function IllegalArgumentException_0(){
  RuntimeException_0.call(this);
}

function IllegalArgumentException_1(message){
  RuntimeException_1.call(this, message);
}

defineSeed(365, 84, makeCastMap([Q$Serializable, Q$IllegalArgumentException, Q$Throwable]), IllegalArgumentException_0, IllegalArgumentException_1);
function IllegalStateException_0(){
  RuntimeException_0.call(this);
}

function IllegalStateException_1(s){
  RuntimeException_1.call(this, s);
}

defineSeed(366, 84, makeCastMap([Q$Serializable, Q$Throwable]), IllegalStateException_0, IllegalStateException_1);
function IndexOutOfBoundsException_0(){
  RuntimeException_0.call(this);
}

function IndexOutOfBoundsException_1(message){
  RuntimeException_1.call(this, message);
}

defineSeed(367, 84, makeCastMap([Q$Serializable, Q$IndexOutOfBoundsException, Q$Throwable]), IndexOutOfBoundsException_0, IndexOutOfBoundsException_1);
function Integer_0(value_0){
  this.value_0 = value_0;
}

function toPowerOfTwoString(value_0){
  var buf, digits, pos;
  buf = initDim(_3C_classLit, makeCastMap([Q$Serializable]), -1, 8, 1);
  digits = ($clinit_Number$__Digits() , digits_0);
  pos = 7;
  if (value_0 >= 0) {
    while (value_0 > 15) {
      buf[pos--] = digits[value_0 & 15];
      value_0 >>= 4;
    }
  }
   else {
    while (pos > 0) {
      buf[pos--] = digits[value_0 & 15];
      value_0 >>= 4;
    }
  }
  buf[pos] = digits[value_0 & 15];
  return __valueOf(buf, pos, 8);
}

function valueOf(i){
  var rebase, result;
  if (i > -129 && i < 128) {
    rebase = i + 128;
    result = ($clinit_Integer$BoxedValues() , boxedValues)[rebase];
    !result && (result = boxedValues[rebase] = new Integer_0(i));
    return result;
  }
  return new Integer_0(i);
}

defineSeed(368, 364, makeCastMap([Q$Serializable, Q$Comparable, Q$Integer, Q$Number]), Integer_0);
_.equals$ = function equals_11(o){
  return instanceOf(o, Q$Integer) && dynamicCast(o, Q$Integer).value_0 == this.value_0;
}
;
_.hashCode$ = function hashCode_13(){
  return this.value_0;
}
;
_.toString$ = function toString_17(){
  return '' + this.value_0;
}
;
_.value_0 = 0;
function $clinit_Integer$BoxedValues(){
  $clinit_Integer$BoxedValues = nullMethod;
  boxedValues = initDim(_3Ljava_lang_Integer_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Object_$1]), Q$Integer, 256, 0);
}

var boxedValues;
function cos_0(x_0){
  return Math.cos(x_0);
}

function max_0(y_0){
  return 5 > y_0?5:y_0;
}

function NullPointerException_0(){
  RuntimeException_0.call(this);
}

function NullPointerException_1(message){
  RuntimeException_1.call(this, message);
}

defineSeed(371, 84, makeCastMap([Q$Serializable, Q$Throwable]), NullPointerException_0, NullPointerException_1);
function $clinit_Number$__Digits(){
  $clinit_Number$__Digits = nullMethod;
  digits_0 = initValues(_3C_classLit, makeCastMap([Q$Serializable]), -1, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122]);
}

var digits_0;
function NumberFormatException_0(message){
  IllegalArgumentException_1.call(this, message);
}

defineSeed(373, 365, makeCastMap([Q$Serializable, Q$IllegalArgumentException, Q$Throwable]), NumberFormatException_0);
function StackTraceElement_0(methodName){
  this.className_0 = 'Unknown';
  this.methodName = methodName;
  this.lineNumber = -1;
}

defineSeed(374, 1, makeCastMap([Q$Serializable, Q$StackTraceElement]), StackTraceElement_0);
_.toString$ = function toString_18(){
  return this.className_0 + '.' + this.methodName + '(Unknown Source' + (this.lineNumber >= 0?':' + this.lineNumber:'') + ')';
}
;
_.lineNumber = 0;
function $charAt(this$static, index_0){
  return this$static.charCodeAt(index_0);
}

function $equals(this$static, other){
  if (!instanceOf(other, Q$String)) {
    return false;
  }
  return String(this$static) == other;
}

function $equalsIgnoreCase(this$static, other){
  if (other == null)
    return false;
  return this$static == other || this$static.toLowerCase() == other.toLowerCase();
}

function $indexOf_0(this$static, str){
  return this$static.indexOf(str);
}

function $substring(this$static, beginIndex){
  return this$static.substr(beginIndex, this$static.length - beginIndex);
}

function $substring_0(this$static, beginIndex, endIndex){
  return this$static.substr(beginIndex, endIndex - beginIndex);
}

function $trim(this$static){
  if (this$static.length == 0 || this$static[0] > ' ' && this$static[this$static.length - 1] > ' ') {
    return this$static;
  }
  var r1 = this$static.replace(/^(\s*)/, '');
  var r2 = r1.replace(/\s*$/, '');
  return r2;
}

function __valueOf(x_0, start_0, end){
  x_0 = x_0.slice(start_0, end);
  return String.fromCharCode.apply(null, x_0);
}

function fromCharCode(ch_0){
  return String.fromCharCode(ch_0);
}

function fromCodePoint(codePoint){
  var hiSurrogate, loSurrogate;
  if (codePoint >= 65536) {
    hiSurrogate = 55296 + (codePoint - 65536 >> 10 & 1023) & 65535;
    loSurrogate = 56320 + (codePoint - 65536 & 1023) & 65535;
    return fromCharCode(hiSurrogate) + fromCharCode(loSurrogate);
  }
   else {
    return String.fromCharCode(codePoint & 65535);
  }
}

_ = String.prototype;
_.castableTypeMap$ = makeCastMap([Q$String, Q$Serializable, Q$CharSequence, Q$Comparable]);
_.equals$ = function equals_12(other){
  return $equals(this, other);
}
;
_.hashCode$ = function hashCode_14(){
  return getHashCode_0(this);
}
;
_.toString$ = _.toString;
function $clinit_String$HashCache(){
  $clinit_String$HashCache = nullMethod;
  back_0 = {};
  front = {};
}

function compute(str){
  var hashCode, i, n, nBatch;
  hashCode = 0;
  n = str.length;
  nBatch = n - 4;
  i = 0;
  while (i < nBatch) {
    hashCode = str.charCodeAt(i + 3) + 31 * (str.charCodeAt(i + 2) + 31 * (str.charCodeAt(i + 1) + 31 * (str.charCodeAt(i) + 31 * hashCode))) | 0;
    i += 4;
  }
  while (i < n) {
    hashCode = hashCode * 31 + $charAt(str, i++);
  }
  return hashCode | 0;
}

function getHashCode_0(str){
  $clinit_String$HashCache();
  var key = ':' + str;
  var result = front[key];
  if (result != null) {
    return result;
  }
  result = back_0[key];
  result == null && (result = compute(str));
  increment();
  return front[key] = result;
}

function increment(){
  if (count_0 == 256) {
    back_0 = front;
    front = {};
    count_0 = 0;
  }
  ++count_0;
}

var back_0, count_0 = 0, front;
function $append_2(this$static, x_0){
  $append(this$static.impl, x_0);
  return this$static;
}

function $append_3(this$static, x_0){
  $append_0(this$static.impl, x_0);
  return this$static;
}

function StringBuffer_0(){
  this.impl = new StringBufferImplAppend_0;
}

defineSeed(376, 1, makeCastMap([Q$CharSequence]), StringBuffer_0);
_.toString$ = function toString_19(){
  return this.impl.string;
}
;
function $$init(this$static){
  this$static.impl = new StringBufferImplAppend_0;
}

function $append_4(this$static, x_0){
  $append_0(this$static.impl, x_0);
  return this$static;
}

function StringBuilder_0(){
  $$init(this);
}

function StringBuilder_1(s){
  $$init(this);
  $append_0(this.impl, s);
}

defineSeed(377, 1, makeCastMap([Q$CharSequence]), StringBuilder_0, StringBuilder_1);
_.toString$ = function toString_20(){
  return this.impl.string;
}
;
function UnsupportedOperationException_0(){
  RuntimeException_0.call(this);
}

function UnsupportedOperationException_1(message){
  RuntimeException_1.call(this, message);
}

defineSeed(378, 84, makeCastMap([Q$Serializable, Q$Throwable]), UnsupportedOperationException_0, UnsupportedOperationException_1);
function $advanceToFind(iter, o){
  var t;
  while (iter.hasNext()) {
    t = iter.next_0();
    if (o == null?t == null:equals__devirtual$(o, t)) {
      return iter;
    }
  }
  return null;
}

function $toString_0(this$static){
  var comma, iter, sb, value_0;
  sb = new StringBuffer_0;
  comma = null;
  $append_0(sb.impl, '[');
  iter = this$static.iterator();
  while (iter.hasNext()) {
    comma != null?($append_0(sb.impl, comma) , sb):(comma = ', ');
    value_0 = iter.next_0();
    $append_0(sb.impl, value_0 === this$static?'(this Collection)':'' + value_0);
  }
  $append_0(sb.impl, ']');
  return sb.impl.string;
}

defineSeed(379, 1, {});
_.add_0 = function add_1(o){
  throw new UnsupportedOperationException_1('Add not supported on this collection');
}
;
_.contains_0 = function contains(o){
  var iter;
  iter = $advanceToFind(this.iterator(), o);
  return !!iter;
}
;
_.isEmpty = function isEmpty(){
  return this.size_1() == 0;
}
;
_.remove_1 = function remove_14(o){
  var iter;
  iter = $advanceToFind(this.iterator(), o);
  if (iter) {
    iter.remove_0();
    return true;
  }
   else {
    return false;
  }
}
;
_.toString$ = function toString_21(){
  return $toString_0(this);
}
;
function $keySet(this$static){
  var entrySet;
  entrySet = new AbstractHashMap$EntrySet_0(this$static);
  return new AbstractMap$1_0(this$static, entrySet);
}

defineSeed(381, 1, makeCastMap([Q$Map]));
_.equals$ = function equals_13(obj){
  var entry, entry$iterator, otherKey, otherMap, otherValue;
  if (obj === this) {
    return true;
  }
  if (!instanceOf(obj, Q$Map)) {
    return false;
  }
  otherMap = dynamicCast(obj, Q$Map);
  if (this.size_0 != otherMap.size_0) {
    return false;
  }
  for (entry$iterator = new AbstractHashMap$EntrySetIterator_0((new AbstractHashMap$EntrySet_0(otherMap)).this$0); $hasNext(entry$iterator.iter);) {
    entry = entry$iterator.last = dynamicCast($next_3(entry$iterator.iter), Q$Map$Entry);
    otherKey = entry.getKey();
    otherValue = entry.getValue();
    if (!(otherKey == null?this.nullSlotLive:instanceOf(otherKey, Q$String)?$hasStringValue(this, dynamicCast(otherKey, Q$String)):$hasHashValue(this, otherKey, ~~hashCode__devirtual$(otherKey)))) {
      return false;
    }
    if (!equalsWithNullCheck(otherValue, otherKey == null?this.nullSlot:instanceOf(otherKey, Q$String)?$getStringValue(this, dynamicCast(otherKey, Q$String)):$getHashValue(this, otherKey, ~~hashCode__devirtual$(otherKey)))) {
      return false;
    }
  }
  return true;
}
;
_.hashCode$ = function hashCode_15(){
  var entry, entry$iterator, hashCode;
  hashCode = 0;
  for (entry$iterator = new AbstractHashMap$EntrySetIterator_0((new AbstractHashMap$EntrySet_0(this)).this$0); $hasNext(entry$iterator.iter);) {
    entry = entry$iterator.last = dynamicCast($next_3(entry$iterator.iter), Q$Map$Entry);
    hashCode += entry.hashCode$();
    hashCode = ~~hashCode;
  }
  return hashCode;
}
;
_.toString$ = function toString_22(){
  var comma, entry, iter, s;
  s = '{';
  comma = false;
  for (iter = new AbstractHashMap$EntrySetIterator_0((new AbstractHashMap$EntrySet_0(this)).this$0); $hasNext(iter.iter);) {
    entry = iter.last = dynamicCast($next_3(iter.iter), Q$Map$Entry);
    comma?(s += ', '):(comma = true);
    s += '' + entry.getKey();
    s += '=';
    s += '' + entry.getValue();
  }
  return s + '}';
}
;
function $addAllHashEntries(this$static, dest){
  var hashCodeMap = this$static.hashCodeMap;
  for (var hashCode in hashCodeMap) {
    var hashCodeInt = parseInt(hashCode, 10);
    if (hashCode == hashCodeInt) {
      var array = hashCodeMap[hashCodeInt];
      for (var i = 0, c = array.length; i < c; ++i) {
        dest.add_0(array[i]);
      }
    }
  }
}

function $addAllStringEntries(this$static, dest){
  var stringMap = this$static.stringMap;
  for (var key in stringMap) {
    if (key.charCodeAt(0) == 58) {
      var entry = new AbstractHashMap$MapEntryString_0(this$static, key.substring(1));
      dest.add_0(entry);
    }
  }
}

function $clearImpl(this$static){
  this$static.hashCodeMap = [];
  this$static.stringMap = {};
  this$static.nullSlotLive = false;
  this$static.nullSlot = null;
  this$static.size_0 = 0;
}

function $containsKey(this$static, key){
  return key == null?this$static.nullSlotLive:instanceOf(key, Q$String)?$hasStringValue(this$static, dynamicCast(key, Q$String)):$hasHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $get_3(this$static, key){
  return key == null?this$static.nullSlot:instanceOf(key, Q$String)?$getStringValue(this$static, dynamicCast(key, Q$String)):$getHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $getHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return entry.getValue();
      }
    }
  }
  return null;
}

function $getStringValue(this$static, key){
  return this$static.stringMap[':' + key];
}

function $hasHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return true;
      }
    }
  }
  return false;
}

function $hasStringValue(this$static, key){
  return ':' + key in this$static.stringMap;
}

function $put_0(this$static, key, value_0){
  return key == null?$putNullSlot(this$static, value_0):instanceOf(key, Q$String)?$putStringValue(this$static, dynamicCast(key, Q$String), value_0):$putHashValue(this$static, key, value_0, ~~hashCode__devirtual$(key));
}

function $putHashValue(this$static, key, value_0, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        var previous = entry.getValue();
        entry.setValue(value_0);
        return previous;
      }
    }
  }
   else {
    array = this$static.hashCodeMap[hashCode] = [];
  }
  var entry = new MapEntryImpl_0(key, value_0);
  array.push(entry);
  ++this$static.size_0;
  return null;
}

function $putNullSlot(this$static, value_0){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = value_0;
  if (!this$static.nullSlotLive) {
    this$static.nullSlotLive = true;
    ++this$static.size_0;
  }
  return result;
}

function $putStringValue(this$static, key, value_0){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  key in stringMap?(result = stringMap[key]):++this$static.size_0;
  stringMap[key] = value_0;
  return result;
}

function $remove_10(this$static, key){
  return key == null?$removeNullSlot(this$static):instanceOf(key, Q$String)?$removeStringValue(this$static, dynamicCast(key, Q$String)):$removeHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $removeHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        array.length == 1?delete this$static.hashCodeMap[hashCode]:array.splice(i, 1);
        --this$static.size_0;
        return entry.getValue();
      }
    }
  }
  return null;
}

function $removeNullSlot(this$static){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = null;
  if (this$static.nullSlotLive) {
    this$static.nullSlotLive = false;
    --this$static.size_0;
  }
  return result;
}

function $removeStringValue(this$static, key){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  if (key in stringMap) {
    result = stringMap[key];
    --this$static.size_0;
    delete stringMap[key];
  }
  return result;
}

defineSeed(380, 381, makeCastMap([Q$Map]));
_.equalsBridge = function equalsBridge(value1, value2){
  return maskUndefined(value1) === maskUndefined(value2) || value1 != null && equals__devirtual$(value1, value2);
}
;
_.nullSlotLive = false;
_.size_0 = 0;
defineSeed(383, 379, makeCastMap([Q$Set]));
_.equals$ = function equals_14(o){
  var iter, other, otherItem;
  if (o === this) {
    return true;
  }
  if (!instanceOf(o, Q$Set)) {
    return false;
  }
  other = dynamicCast(o, Q$Set);
  if (other.size_1() != this.size_1()) {
    return false;
  }
  for (iter = other.iterator(); iter.hasNext();) {
    otherItem = iter.next_0();
    if (!this.contains_0(otherItem)) {
      return false;
    }
  }
  return true;
}
;
_.hashCode$ = function hashCode_16(){
  var hashCode, iter, next;
  hashCode = 0;
  for (iter = this.iterator(); iter.hasNext();) {
    next = iter.next_0();
    if (next != null) {
      hashCode += hashCode__devirtual$(next);
      hashCode = ~~hashCode;
    }
  }
  return hashCode;
}
;
function $contains(this$static, o){
  var entry, key, value_0;
  if (instanceOf(o, Q$Map$Entry)) {
    entry = dynamicCast(o, Q$Map$Entry);
    key = entry.getKey();
    if ($containsKey(this$static.this$0, key)) {
      value_0 = $get_3(this$static.this$0, key);
      return $equals_0(entry.getValue(), value_0);
    }
  }
  return false;
}

function AbstractHashMap$EntrySet_0(this$0){
  this.this$0 = this$0;
}

defineSeed(382, 383, makeCastMap([Q$Set]), AbstractHashMap$EntrySet_0);
_.contains_0 = function contains_0(o){
  return $contains(this, o);
}
;
_.iterator = function iterator_6(){
  return new AbstractHashMap$EntrySetIterator_0(this.this$0);
}
;
_.remove_1 = function remove_15(entry){
  var key;
  if ($contains(this, entry)) {
    key = dynamicCast(entry, Q$Map$Entry).getKey();
    $remove_10(this.this$0, key);
    return true;
  }
  return false;
}
;
_.size_1 = function size_1(){
  return this.this$0.size_0;
}
;
function $next_2(this$static){
  return this$static.last = dynamicCast($next_3(this$static.iter), Q$Map$Entry);
}

function $remove_11(this$static){
  if (!this$static.last) {
    throw new IllegalStateException_1('Must call next() before remove().');
  }
   else {
    $remove_12(this$static.iter);
    $remove_10(this$static.this$0, this$static.last.getKey());
    this$static.last = null;
  }
}

function AbstractHashMap$EntrySetIterator_0(this$0){
  var list;
  this.this$0 = this$0;
  list = new ArrayList_0;
  this$0.nullSlotLive && $add_7(list, new AbstractHashMap$MapEntryNull_0(this$0));
  $addAllStringEntries(this$0, list);
  $addAllHashEntries(this$0, list);
  this.iter = new AbstractList$IteratorImpl_0(list);
}

defineSeed(384, 1, {}, AbstractHashMap$EntrySetIterator_0);
_.hasNext = function hasNext_2(){
  return $hasNext(this.iter);
}
;
_.next_0 = function next_3(){
  return $next_2(this);
}
;
_.remove_0 = function remove_16(){
  $remove_11(this);
}
;
_.last = null;
defineSeed(386, 1, makeCastMap([Q$Map$Entry]));
_.equals$ = function equals_15(other){
  var entry;
  if (instanceOf(other, Q$Map$Entry)) {
    entry = dynamicCast(other, Q$Map$Entry);
    if (equalsWithNullCheck(this.getKey(), entry.getKey()) && equalsWithNullCheck(this.getValue(), entry.getValue())) {
      return true;
    }
  }
  return false;
}
;
_.hashCode$ = function hashCode_17(){
  var keyHash, valueHash;
  keyHash = 0;
  valueHash = 0;
  this.getKey() != null && (keyHash = hashCode__devirtual$(this.getKey()));
  this.getValue() != null && (valueHash = hashCode__devirtual$(this.getValue()));
  return keyHash ^ valueHash;
}
;
_.toString$ = function toString_23(){
  return this.getKey() + '=' + this.getValue();
}
;
function AbstractHashMap$MapEntryNull_0(this$0){
  this.this$0 = this$0;
}

defineSeed(385, 386, makeCastMap([Q$Map$Entry]), AbstractHashMap$MapEntryNull_0);
_.getKey = function getKey(){
  return null;
}
;
_.getValue = function getValue(){
  return this.this$0.nullSlot;
}
;
_.setValue = function setValue(object){
  return $putNullSlot(this.this$0, object);
}
;
function AbstractHashMap$MapEntryString_0(this$0, key){
  this.this$0 = this$0;
  this.key = key;
}

defineSeed(387, 386, makeCastMap([Q$Map$Entry]), AbstractHashMap$MapEntryString_0);
_.getKey = function getKey_0(){
  return this.key;
}
;
_.getValue = function getValue_0(){
  return $getStringValue(this.this$0, this.key);
}
;
_.setValue = function setValue_0(object){
  return $putStringValue(this.this$0, this.key, object);
}
;
function checkIndex(index_0, size_0){
  (index_0 < 0 || index_0 >= size_0) && indexOutOfBounds(index_0, size_0);
}

function indexOutOfBounds(index_0, size_0){
  throw new IndexOutOfBoundsException_1('Index: ' + index_0 + ', Size: ' + size_0);
}

defineSeed(388, 379, makeCastMap([Q$List]));
_.add_1 = function add_2(index_0, element){
  throw new UnsupportedOperationException_1('Add not supported on this list');
}
;
_.add_0 = function add_3(obj){
  this.add_1(this.size_1(), obj);
  return true;
}
;
_.equals$ = function equals_16(o){
  var elem, elemOther, iter, iterOther, other;
  if (o === this) {
    return true;
  }
  if (!instanceOf(o, Q$List)) {
    return false;
  }
  other = dynamicCast(o, Q$List);
  if (this.size_1() != other.size_1()) {
    return false;
  }
  iter = new AbstractList$IteratorImpl_0(this);
  iterOther = other.iterator();
  while (iter.i < iter.this$0_0.size_1()) {
    elem = $next_3(iter);
    elemOther = $next_3(iterOther);
    if (!(elem == null?elemOther == null:equals__devirtual$(elem, elemOther))) {
      return false;
    }
  }
  return true;
}
;
_.hashCode$ = function hashCode_18(){
  var iter, k, obj;
  k = 1;
  iter = new AbstractList$IteratorImpl_0(this);
  while (iter.i < iter.this$0_0.size_1()) {
    obj = $next_3(iter);
    k = 31 * k + (obj == null?0:hashCode__devirtual$(obj));
    k = ~~k;
  }
  return k;
}
;
_.iterator = function iterator_7(){
  return new AbstractList$IteratorImpl_0(this);
}
;
_.listIterator = function listIterator(){
  return new AbstractList$ListIteratorImpl_0(this, 0);
}
;
_.listIterator_0 = function listIterator_0(from){
  return new AbstractList$ListIteratorImpl_0(this, from);
}
;
_.remove_2 = function remove_17(index_0){
  throw new UnsupportedOperationException_1('Remove not supported on this list');
}
;
function $hasNext(this$static){
  return this$static.i < this$static.this$0_0.size_1();
}

function $next_3(this$static){
  if (this$static.i >= this$static.this$0_0.size_1()) {
    throw new NoSuchElementException_0;
  }
  return this$static.this$0_0.get_0(this$static.last = this$static.i++);
}

function $remove_12(this$static){
  if (this$static.last < 0) {
    throw new IllegalStateException_0;
  }
  this$static.this$0_0.remove_2(this$static.last);
  this$static.i = this$static.last;
  this$static.last = -1;
}

function AbstractList$IteratorImpl_0(this$0){
  this.this$0_0 = this$0;
}

defineSeed(389, 1, {}, AbstractList$IteratorImpl_0);
_.hasNext = function hasNext_3(){
  return $hasNext(this);
}
;
_.next_0 = function next_4(){
  return $next_3(this);
}
;
_.remove_0 = function remove_18(){
  $remove_12(this);
}
;
_.i = 0;
_.last = -1;
function $previous(this$static){
  if (this$static.i <= 0) {
    throw new NoSuchElementException_0;
  }
  return this$static.this$0.get_0(this$static.last = --this$static.i);
}

function AbstractList$ListIteratorImpl_0(this$0, start_0){
  var size_0;
  this.this$0 = this$0;
  AbstractList$IteratorImpl_0.call(this, this$0);
  size_0 = this$0.size_1();
  (start_0 < 0 || start_0 > size_0) && indexOutOfBounds(start_0, size_0);
  this.i = start_0;
}

defineSeed(390, 389, {}, AbstractList$ListIteratorImpl_0);
function $iterator(this$static){
  var outerIter;
  outerIter = new AbstractHashMap$EntrySetIterator_0(this$static.val$entrySet.this$0);
  return new AbstractMap$1$1_0(outerIter);
}

function AbstractMap$1_0(this$0, val$entrySet){
  this.this$0 = this$0;
  this.val$entrySet = val$entrySet;
}

defineSeed(391, 383, makeCastMap([Q$Set]), AbstractMap$1_0);
_.contains_0 = function contains_1(key){
  return $containsKey(this.this$0, key);
}
;
_.iterator = function iterator_8(){
  return $iterator(this);
}
;
_.size_1 = function size_2(){
  return this.val$entrySet.this$0.size_0;
}
;
function AbstractMap$1$1_0(val$outerIter){
  this.val$outerIter = val$outerIter;
}

defineSeed(392, 1, {}, AbstractMap$1$1_0);
_.hasNext = function hasNext_4(){
  return $hasNext(this.val$outerIter.iter);
}
;
_.next_0 = function next_5(){
  var entry;
  entry = $next_2(this.val$outerIter);
  return entry.getKey();
}
;
_.remove_0 = function remove_19(){
  $remove_11(this.val$outerIter);
}
;
function $add_6(this$static, index_0, o){
  (index_0 < 0 || index_0 > this$static.size_0) && indexOutOfBounds(index_0, this$static.size_0);
  splice_0(this$static.array, index_0, 0, o);
  ++this$static.size_0;
}

function $add_7(this$static, o){
  setCheck(this$static.array, this$static.size_0++, o);
  return true;
}

function $get_4(this$static, index_0){
  checkIndex(index_0, this$static.size_0);
  return this$static.array[index_0];
}

function $indexOf_1(this$static, o, index_0){
  for (; index_0 < this$static.size_0; ++index_0) {
    if (equalsWithNullCheck(o, this$static.array[index_0])) {
      return index_0;
    }
  }
  return -1;
}

function $remove_13(this$static, index_0){
  var previous;
  previous = (checkIndex(index_0, this$static.size_0) , this$static.array[index_0]);
  splice(this$static.array, index_0, 1);
  --this$static.size_0;
  return previous;
}

function $remove_14(this$static, o){
  var i;
  i = $indexOf_1(this$static, o, 0);
  if (i == -1) {
    return false;
  }
  $remove_13(this$static, i);
  return true;
}

function $set_1(this$static, index_0, o){
  var previous;
  previous = (checkIndex(index_0, this$static.size_0) , this$static.array[index_0]);
  setCheck(this$static.array, index_0, o);
  return previous;
}

function $toArray(this$static, out){
  var i;
  out.length < this$static.size_0 && (out = createFrom(out, this$static.size_0));
  for (i = 0; i < this$static.size_0; ++i) {
    setCheck(out, i, this$static.array[i]);
  }
  out.length > this$static.size_0 && setCheck(out, this$static.size_0, null);
  return out;
}

function ArrayList_0(){
  this.array = initDim(_3Ljava_lang_Object_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Object, 0, 0);
}

function splice(array, index_0, deleteCount){
  array.splice(index_0, deleteCount);
}

--></script>
<script><!--
function splice_0(array, index_0, deleteCount, value_0){
  array.splice(index_0, deleteCount, value_0);
}

defineSeed(393, 388, makeCastMap([Q$Serializable, Q$List]), ArrayList_0);
_.add_1 = function add_4(index_0, o){
  $add_6(this, index_0, o);
}
;
_.add_0 = function add_5(o){
  return $add_7(this, o);
}
;
_.contains_0 = function contains_2(o){
  return $indexOf_1(this, o, 0) != -1;
}
;
_.get_0 = function get_1(index_0){
  return $get_4(this, index_0);
}
;
_.isEmpty = function isEmpty_0(){
  return this.size_0 == 0;
}
;
_.remove_2 = function remove_20(index_0){
  return $remove_13(this, index_0);
}
;
_.remove_1 = function remove_21(o){
  return $remove_14(this, o);
}
;
_.size_1 = function size_3(){
  return this.size_0;
}
;
_.size_0 = 0;
function $clinit_Collections(){
  $clinit_Collections = nullMethod;
  EMPTY_LIST = new Collections$EmptyList_0;
}

var EMPTY_LIST;
function Collections$EmptyList_0(){
}

defineSeed(395, 388, makeCastMap([Q$Serializable, Q$List]), Collections$EmptyList_0);
_.contains_0 = function contains_3(object){
  return false;
}
;
_.get_0 = function get_2(location_0){
  throw new IndexOutOfBoundsException_0;
}
;
_.size_1 = function size_4(){
  return 0;
}
;
function $equals_0(value1, value2){
  return maskUndefined(value1) === maskUndefined(value2) || value1 != null && equals__devirtual$(value1, value2);
}

function HashMap_0(){
  $clearImpl(this);
}

defineSeed(396, 380, makeCastMap([Q$Serializable, Q$Map]), HashMap_0);
function $add_8(this$static, o){
  var old;
  old = $put_0(this$static.map_0, o, this$static);
  return old == null;
}

function $contains_0(this$static, o){
  return $containsKey(this$static.map_0, o);
}

function $remove_15(this$static, o){
  return $remove_10(this$static.map_0, o) != null;
}

function HashSet_0(){
  this.map_0 = new HashMap_0;
}

defineSeed(397, 383, makeCastMap([Q$Serializable, Q$Set]), HashSet_0);
_.add_0 = function add_6(o){
  return $add_8(this, o);
}
;
_.contains_0 = function contains_4(o){
  return $contains_0(this, o);
}
;
_.isEmpty = function isEmpty_1(){
  return this.map_0.size_0 == 0;
}
;
_.iterator = function iterator_9(){
  return $iterator($keySet(this.map_0));
}
;
_.remove_1 = function remove_22(o){
  return $remove_15(this, o);
}
;
_.size_1 = function size_5(){
  return this.map_0.size_0;
}
;
_.toString$ = function toString_24(){
  return $toString_0($keySet(this.map_0));
}
;
function MapEntryImpl_0(key, value_0){
  this.key = key;
  this.value_0 = value_0;
}

defineSeed(398, 386, makeCastMap([Q$Map$Entry]), MapEntryImpl_0);
_.getKey = function getKey_1(){
  return this.key;
}
;
_.getValue = function getValue_1(){
  return this.value_0;
}
;
_.setValue = function setValue_1(value_0){
  var old;
  old = this.value_0;
  this.value_0 = value_0;
  return old;
}
;
function NoSuchElementException_0(){
  RuntimeException_0.call(this);
}

defineSeed(399, 84, makeCastMap([Q$Serializable, Q$Throwable]), NoSuchElementException_0);
function equalsWithNullCheck(a, b){
  return maskUndefined(a) === maskUndefined(b) || a != null && equals__devirtual$(a, b);
}

function $clinit_AddEvent(){
  $clinit_AddEvent = nullMethod;
  TYPE_6 = new GwtEvent$Type_0;
}

function AddEvent_0(){
  $clinit_AddEvent();
}

defineSeed(401, 159, {}, AddEvent_0);
_.dispatch = function dispatch_6(handler){
  $onEvent(dynamicCast(handler, Q$AddEventHandler));
}
;
_.getAssociatedType = function getAssociatedType_7(){
  return TYPE_6;
}
;
var TYPE_6;
function $clinit_MarsHabitatConfigurationSystem(){
  $clinit_MarsHabitatConfigurationSystem = nullMethod;
  BUS = new SimpleEventBus_3;
}

function $onModuleLoad_0(){
  var addModulePopupCmd, clearCmd, cmd, configTabs, configurationCmd, initialLogin, loginCmd, menu, modList, modMap, rootPanel, tenDayAlertCmd, theMenu, weather;
  modList = new ModuleList_0;
  configTabs = new TabLayoutPanel_0(($clinit_Style$Unit() , EM));
  modMap = new ModuleMap_0(modList);
  weather = new Weather_0;
  rootPanel = ($clinit_RootPanel() , get_0());
  $setWidth(rootPanel, '1400px');
  $setHeight(rootPanel, '900px');
  cmd = new MarsHabitatConfigurationSystem$1_0;
  tenDayAlertCmd = new MarsHabitatConfigurationSystem$2_0;
  loginCmd = new MarsHabitatConfigurationSystem$3_0;
  addModulePopupCmd = new MarsHabitatConfigurationSystem$4_0(modList);
  configurationCmd = new MarsHabitatConfigurationSystem$5_0(modList, configTabs);
  clearCmd = new MarsHabitatConfigurationSystem$6_0(modList, configTabs, modMap);
  theMenu = new MenuBar_1(true);
  theMenu.isAnimationEnabled = true;
  $addItem(theMenu, new MenuItem_0('Add Module', addModulePopupCmd));
  $addItem(theMenu, new MenuItem_0('Minumum Resource Path', cmd));
  $addItem(theMenu, new MenuItem_0('Calculate Habitats', configurationCmd));
  $addItem(theMenu, new MenuItem_0('Milometer Device Calibration Alert', tenDayAlertCmd));
  $addItem(theMenu, new MenuItem_0('Clear Modules and Configuration', clearCmd));
  $addSeparator(theMenu, new MenuItemSeparator_0);
  $addItem(theMenu, new MenuItem_0('Log off', loginCmd));
  menu = new MenuBar_0;
  menu.isAnimationEnabled = true;
  $addItem(menu, new MenuItem_1(theMenu));
  ($clinit_DOM() , menu.element).style['width'] = '1200px';
  $add_3(configTabs, !modMap?null:$asWidget(modMap), 'Module Map');
  $add_3(configTabs, !weather?null:$asWidget_0(), 'Weather');
  configTabs.element.style['height'] = '900px';
  configTabs.element.style['width'] = '1200px';
  $add(rootPanel, menu, $getElement(rootPanel));
  $add(rootPanel, configTabs, $getElement(rootPanel));
  initialLogin = new Login_0;
  $show(initialLogin);
  $addHandler_0(BUS, ($clinit_AddEvent() , TYPE_6), new MarsHabitatConfigurationSystem$7_0(configTabs, modMap, modList));
  $setStyleName_0(rootPanel, 'rootPanel', true);
}

var BUS, MINIMUM_CONFIG_REACHED = false;
function MarsHabitatConfigurationSystem$1_0(){
}

defineSeed(403, 1, {}, MarsHabitatConfigurationSystem$1_0);
_.execute_0 = function execute_13(){
  alert_0('You selected a menu item!');
}
;
function MarsHabitatConfigurationSystem$2_0(){
}

defineSeed(404, 1, {}, MarsHabitatConfigurationSystem$2_0);
_.execute_0 = function execute_14(){
  var tenDayAlert;
  tenDayAlert = new TenDayAlert_0;
  $setPopupPositionAndShow(tenDayAlert, new MarsHabitatConfigurationSystem$2$1_0(tenDayAlert));
}
;
function MarsHabitatConfigurationSystem$2$1_0(val$tenDayAlert){
  this.val$tenDayAlert = val$tenDayAlert;
}

defineSeed(405, 1, {}, MarsHabitatConfigurationSystem$2$1_0);
_.setPosition = function setPosition_0(offsetWidth, offsetHeight){
  var left, top_0;
  left = ~~(($getClientWidth($doc) - offsetWidth) / 3);
  top_0 = ~~(($getClientHeight($doc) - offsetHeight) / 3);
  $setPopupPosition(this.val$tenDayAlert, left, top_0);
}
;
function MarsHabitatConfigurationSystem$3_0(){
}

defineSeed(406, 1, {}, MarsHabitatConfigurationSystem$3_0);
_.execute_0 = function execute_15(){
  var login;
  login = new Login_0;
  $show(login);
}
;
function MarsHabitatConfigurationSystem$4_0(val$modList){
  this.val$modList = val$modList;
}

defineSeed(407, 1, {}, MarsHabitatConfigurationSystem$4_0);
_.execute_0 = function execute_16(){
  var popup;
  popup = new AddModulePopup_0(this.val$modList, ($clinit_MarsHabitatConfigurationSystem() , BUS));
  $setPopupPositionAndShow(popup, new MarsHabitatConfigurationSystem$4$1_0(popup));
}
;
function MarsHabitatConfigurationSystem$4$1_0(val$popup){
  this.val$popup = val$popup;
}

defineSeed(408, 1, {}, MarsHabitatConfigurationSystem$4$1_0);
_.setPosition = function setPosition_1(offsetWidth, offsetHeight){
  var left, top_0;
  left = ~~(($getClientWidth($doc) - offsetWidth) / 3);
  top_0 = ~~(($getClientHeight($doc) - offsetHeight) / 3);
  $setPopupPosition(this.val$popup, left, top_0);
}
;
function MarsHabitatConfigurationSystem$5_0(val$modList, val$configTabs){
  this.val$modList = val$modList;
  this.val$configTabs = val$configTabs;
}

defineSeed(409, 1, {}, MarsHabitatConfigurationSystem$5_0);
_.execute_0 = function execute_17(){
  var map_0;
  map_0 = $getConfigurationGrid($calculateConfiguration(this.val$modList));
  if (!!map_0 && ($clinit_MarsHabitatConfigurationSystem() , MINIMUM_CONFIG_REACHED)) {
    $insert_6(this.val$configTabs, map_0, 'Full Configuration', 2);
    $selectTab(this.val$configTabs, 1);
  }
   else {
    alert_0('Minimum module requirements not met!');
  }
}
;
function MarsHabitatConfigurationSystem$6_0(val$modList, val$configTabs, val$modMap){
  this.val$modList = val$modList;
  this.val$configTabs = val$configTabs;
  this.val$modMap = val$modMap;
}

defineSeed(410, 1, {}, MarsHabitatConfigurationSystem$6_0);
_.execute_0 = function execute_18(){
  $clearList(this.val$modList);
  $clear_0(this.val$configTabs);
  $insert_4(this.val$configTabs, this.val$modMap);
  $selectTab(this.val$configTabs, 0);
}
;
function $onEvent(this$static){
  $remove_5(this$static.val$configTabs, 0);
  $insert_4(this$static.val$configTabs, this$static.val$modMap);
  $selectTab(this$static.val$configTabs, 0);
  ($clinit_MarsHabitatConfigurationSystem() , MINIMUM_CONFIG_REACHED) || this$static.val$modList.airlock > 0 && this$static.val$modList.canteen > 0 && this$static.val$modList.control > 0 && this$static.val$modList.dormitory > 0 && this$static.val$modList.plain > 2 && this$static.val$modList.power > 0 && this$static.val$modList.sanitation > 0 && this$static.val$modList.water > 0 && (MINIMUM_CONFIG_REACHED = true);
}

function MarsHabitatConfigurationSystem$7_0(val$configTabs, val$modMap, val$modList){
  this.val$configTabs = val$configTabs;
  this.val$modMap = val$modMap;
  this.val$modList = val$modList;
}

defineSeed(411, 1, makeCastMap([Q$EventHandler, Q$AddEventHandler]), MarsHabitatConfigurationSystem$7_0);
function AddModulePopup_0(modules, bus){
  var addButton, buttonPanel, cancelButton, codeBox, codeLabel, codePanel, mainPanel, statusBox, statusLabel, statusPanel, title_0, turnBox, turnLabel, turnPanel, xBox, xCoordPanel, xLabel, yBox, yCoordPanel, yLabel;
  PopupPanel_0.call(this);
  title_0 = new Label_0('Enter Module Details');
  codePanel = new HorizontalPanel_0;
  codeLabel = new Label_0('Module Code:');
  codeBox = new TextBox_0;
  ($clinit_DOM() , codeBox.element).style['width'] = '10em';
  $setVerticalAlignment(codePanel, ($clinit_HasVerticalAlignment() , ALIGN_MIDDLE));
  $add_1(codePanel, codeLabel);
  $add_1(codePanel, codeBox);
  $setWidget(this, codePanel);
  $maybeUpdateSize(this);
  xCoordPanel = new HorizontalPanel_0;
  yCoordPanel = new HorizontalPanel_0;
  xLabel = new Label_0('X:');
  yLabel = new Label_0('Y:');
  xBox = new TextBox_0;
  yBox = new TextBox_0;
  xBox.element.style['width'] = '10em';
  yBox.element.style['width'] = '10em';
  $setVerticalAlignment(xCoordPanel, ALIGN_MIDDLE);
  $setVerticalAlignment(yCoordPanel, ALIGN_MIDDLE);
  $add_1(xCoordPanel, xLabel);
  $add_1(xCoordPanel, xBox);
  $add_1(yCoordPanel, yLabel);
  $add_1(yCoordPanel, yBox);
  statusPanel = new HorizontalPanel_0;
  statusLabel = new Label_0('Status:');
  statusBox = new ListBox_0;
  $insertItem(statusBox, 'UNDAMAGED', 'UNDAMAGED', -1);
  $insertItem(statusBox, 'DAMAGED', 'DAMAGED', -1);
  $insertItem(statusBox, 'UNCERTAIN', 'UNCERTAIN', -1);
  statusBox.element.style['width'] = '11em';
  $setVerticalAlignment(statusPanel, ALIGN_MIDDLE);
  $add_1(statusPanel, statusLabel);
  $add_1(statusPanel, statusBox);
  turnPanel = new HorizontalPanel_0;
  turnLabel = new Label_0('Orientation:');
  turnBox = new ListBox_0;
  $insertItem(turnBox, '0 TURNS NEEDED', '0 TURNS NEEDED', -1);
  $insertItem(turnBox, '1 TURN NEEDED', '1 TURN NEEDED', -1);
  $insertItem(turnBox, '2 TURNS NEEDED', '2 TURNS NEEDED', -1);
  turnBox.element.style['width'] = '11em';
  $setVerticalAlignment(turnPanel, ALIGN_MIDDLE);
  $add_1(turnPanel, turnLabel);
  $add_1(turnPanel, turnBox);
  buttonPanel = new HorizontalPanel_0;
  addButton = new Button_0('Add Module');
  cancelButton = new Button_0('Cancel');
  $add_1(buttonPanel, addButton);
  $add_1(buttonPanel, cancelButton);
  $setPropertyInt(buttonPanel.table, 'cellSpacing', 10);
  $addDomHandler(addButton, new AddModulePopup$1_0(this, codeBox, xBox, yBox, turnBox, statusBox, modules, bus), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE_0));
  $addDomHandler(cancelButton, new AddModulePopup$2_0(this), TYPE_0);
  mainPanel = new VerticalPanel_0;
  $setHorizontalAlignment(mainPanel, ($clinit_HasHorizontalAlignment() , ALIGN_CENTER));
  $add_4(mainPanel, title_0);
  $setHorizontalAlignment(mainPanel, ALIGN_RIGHT);
  $add_4(mainPanel, codePanel);
  $add_4(mainPanel, xCoordPanel);
  $add_4(mainPanel, yCoordPanel);
  $add_4(mainPanel, statusPanel);
  $add_4(mainPanel, turnPanel);
  $setHorizontalAlignment(mainPanel, ALIGN_CENTER);
  $add_4(mainPanel, buttonPanel);
  $setPropertyInt(mainPanel.table, 'cellSpacing', 5);
  $setWidget(this, mainPanel);
  $maybeUpdateSize(this);
}

defineSeed(412, 282, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$PopupPanel, Q$UIObject, Q$Widget]), AddModulePopup_0);
function AddModulePopup$1_0(this$0, val$codeBox, val$xBox, val$yBox, val$turnBox, val$statusBox, val$modules, val$bus){
  this.this$0 = this$0;
  this.val$codeBox = val$codeBox;
  this.val$xBox = val$xBox;
  this.val$yBox = val$yBox;
  this.val$turnBox = val$turnBox;
  this.val$statusBox = val$statusBox;
  this.val$modules = val$modules;
  this.val$bus = val$bus;
}

defineSeed(413, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), AddModulePopup$1_0);
_.onClick = function onClick_0(event_0){
  var code_0, e, module, turns, valid, xCoord, yCoord;
  valid = true;
  try {
    code_0 = __parseAndValidateInt($getText(this.val$codeBox));
    xCoord = __parseAndValidateInt($getText(this.val$xBox));
    yCoord = __parseAndValidateInt($getText(this.val$yBox));
    $equals($getItemText(this.val$turnBox, $getSelectElement(this.val$turnBox).selectedIndex), '0 TURNS NEEDED')?(turns = 0):$equals($getItemText(this.val$turnBox, $getSelectElement(this.val$turnBox).selectedIndex), '1 TURN NEEDED')?(turns = 1):(turns = 2);
    module = new Module_0(code_0, xCoord, yCoord, turns, $getItemText(this.val$statusBox, $getSelectElement(this.val$statusBox).selectedIndex));
    $addModule(this.val$modules, module);
  }
   catch ($e0) {
    $e0 = wrap($e0);
    if (instanceOf($e0, Q$IndexOutOfBoundsException)) {
      e = $e0;
      alert_0(e.detailMessage);
      valid = false;
    }
     else if (instanceOf($e0, Q$IllegalArgumentException)) {
      e = $e0;
      alert_0(e.detailMessage);
      valid = false;
    }
     else 
      throw unwrap($e0);
  }
  if (valid) {
    $castFireEvent(this.val$bus, new AddEvent_0);
    $hide(this.this$0, false);
  }
}
;
function AddModulePopup$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(414, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), AddModulePopup$2_0);
_.onClick = function onClick_1(event_0){
  $hide(this.this$0, false);
}
;
function Login_0(){
  var handler, loginButton, loginPanel, panel, password, ptb, tb, title_0, username;
  PopupPanel_0.call(this);
  title_0 = new Label_0('Mars Habitat Configuration System Login');
  setStyleName(($clinit_DOM() , title_0.element), 'title', true);
  username = new Label_0('Username:');
  password = new Label_0('Password:');
  ptb = new PasswordTextBox_0;
  tb = new TextBox_0;
  handler = new Login$1_0(this, ptb, tb);
  loginButton = new Button_1('Login', handler);
  loginPanel = new VerticalPanel_0;
  $add_4(loginPanel, username);
  $add_4(loginPanel, tb);
  $add_4(loginPanel, password);
  $add_4(loginPanel, ptb);
  $add_4(loginPanel, loginButton);
  $setPropertyInt(loginPanel.table, 'cellSpacing', 1);
  setStyleName(loginPanel.element, 'loginPanel', true);
  panel = new VerticalPanel_0;
  $setHorizontalAlignment(panel, ($clinit_HasHorizontalAlignment() , ALIGN_LEFT));
  $add_4(panel, title_0);
  $add_4(panel, loginPanel);
  $setPropertyInt(panel.table, 'cellSpacing', 2);
  panel.element.style['width'] = '3120px';
  panel.element.style['height'] = '1600px';
  setStyleName(panel.element, 'panel', true);
  $setWidget(this, panel);
  $maybeUpdateSize(this);
  this.autoHide = false;
  setStyleName($getParentElement($getFirstChildElement(this.element)), 'login', true);
}

defineSeed(415, 282, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$PopupPanel, Q$UIObject, Q$Widget]), Login_0);
function Login$1_0(this$0, val$ptb, val$tb){
  this.this$0 = this$0;
  this.val$ptb = val$ptb;
  this.val$tb = val$tb;
}

defineSeed(416, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), Login$1_0);
_.onClick = function onClick_2(event_0){
  $equals($getPropertyString($getElement(this.val$ptb), 'value'), 'CS4531') && $equals($getPropertyString($getElement(this.val$tb), 'value'), 'Rome') && $hide(this.this$0, false);
}
;
function TenDayAlert_0(){
  var buttonPanel, calibrateButton, calibrateHandler, cancelButton, cancelHandler, mainPanel, title_0;
  PopupPanel_0.call(this);
  title_0 = new Label_0('Recalibrate Milometer Device');
  calibrateHandler = new TenDayAlert$1_0(this);
  cancelHandler = new TenDayAlert$2_0(this);
  buttonPanel = new HorizontalPanel_0;
  calibrateButton = new Button_1('Alert in 10 days', calibrateHandler);
  cancelButton = new Button_1('Cancel', cancelHandler);
  $add_1(buttonPanel, calibrateButton);
  $add_1(buttonPanel, cancelButton);
  $setPropertyInt(buttonPanel.table, 'cellSpacing', 5);
  mainPanel = new VerticalPanel_0;
  $setHorizontalAlignment(mainPanel, ($clinit_HasHorizontalAlignment() , ALIGN_CENTER));
  $add_4(mainPanel, title_0);
  $add_4(mainPanel, buttonPanel);
  $setPropertyInt(mainPanel.table, 'cellSpacing', 5);
  $setWidget(this, mainPanel);
  $maybeUpdateSize(this);
  this.autoHide = false;
  setStyleName($getParentElement(($clinit_DOM() , $getFirstChildElement(this.element))), 'tenDayAlertPanel', true);
}

defineSeed(417, 282, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$PopupPanel, Q$UIObject, Q$Widget]), TenDayAlert_0);
function TenDayAlert$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(418, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), TenDayAlert$1_0);
_.onClick = function onClick_3(event_0){
  var t;
  $hide(this.this$0, false);
  t = new TenDayAlert$1$1_0(this);
  $schedule(t, 10000);
}
;
function TenDayAlert$1$1_0(this$1){
  this.this$1 = this$1;
  Timer_0.call(this);
}

defineSeed(419, 10, {}, TenDayAlert$1$1_0);
_.run = function run_1(){
  $show(this.this$1.this$0);
}
;
function TenDayAlert$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(420, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), TenDayAlert$2_0);
_.onClick = function onClick_4(event_0){
  $hide(this.this$0, false);
}
;
function Module_0(newCode, xcoord, ycoord, newTurns, newStatus){
  if (newCode < 1 || newCode > 190) {
    throw new IndexOutOfBoundsException_1('Invalid module code');
  }
   else if (newTurns < 0 || newTurns > 2) {
    throw new IndexOutOfBoundsException_1('Invalid turns value');
  }
  this.code_0 = newCode;
  this.xCoord = xcoord;
  this.yCoord = ycoord;
  this.turns = newTurns;
  this.status_0 = newStatus;
  if (this.code_0 > 0 && this.code_0 <= 40) {
    this.type_0 = ($clinit_Module$Type() , PLAIN);
  }
   else if (this.code_0 > 60 && this.code_0 <= 80) {
    this.type_0 = ($clinit_Module$Type() , DORMITORY);
  }
   else if (this.code_0 > 90 && this.code_0 <= 100) {
    this.type_0 = ($clinit_Module$Type() , SANITATION);
  }
   else if (this.code_0 > 110 && this.code_0 <= 120) {
    this.type_0 = ($clinit_Module$Type() , FOOD_WATER);
  }
   else if (this.code_0 > 130 && this.code_0 <= 134) {
    this.type_0 = ($clinit_Module$Type() , GYM_RELAXATION);
  }
   else if (this.code_0 > 140 && this.code_0 <= 144) {
    this.type_0 = ($clinit_Module$Type() , CANTEEN);
  }
   else if (this.code_0 > 150 && this.code_0 <= 154) {
    this.type_0 = ($clinit_Module$Type() , POWER);
  }
   else if (this.code_0 > 160 && this.code_0 <= 164) {
    this.type_0 = ($clinit_Module$Type() , CONTROL);
  }
   else if (this.code_0 > 170 && this.code_0 <= 174) {
    this.type_0 = ($clinit_Module$Type() , AIRLOCK);
  }
   else if (this.code_0 > 180 && this.code_0 <= 184) {
    this.type_0 = ($clinit_Module$Type() , MEDICAL);
  }
   else {
    throw new IndexOutOfBoundsException_1('Invalid module code; Type not yet determined');
  }
}

defineSeed(421, 1, makeCastMap([Q$Module]), Module_0);
_.code_0 = 0;
_.turns = 0;
_.xCoord = 0;
_.yCoord = 0;
function $clinit_Module$Type(){
  $clinit_Module$Type = nullMethod;
  PLAIN = new Module$Type_0('PLAIN', 0);
  DORMITORY = new Module$Type_0('DORMITORY', 1);
  SANITATION = new Module$Type_0('SANITATION', 2);
  FOOD_WATER = new Module$Type_0('FOOD_WATER', 3);
  GYM_RELAXATION = new Module$Type_0('GYM_RELAXATION', 4);
  CANTEEN = new Module$Type_0('CANTEEN', 5);
  POWER = new Module$Type_0('POWER', 6);
  CONTROL = new Module$Type_0('CONTROL', 7);
  AIRLOCK = new Module$Type_0('AIRLOCK', 8);
  MEDICAL = new Module$Type_0('MEDICAL', 9);
  $VALUES_7 = initValues(_3Lmhcs_client_module_Module$Type_2_classLit, makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Enum_$1, Q$Object_$1, Q$Module$Type_$1]), Q$Module$Type, [PLAIN, DORMITORY, SANITATION, FOOD_WATER, GYM_RELAXATION, CANTEEN, POWER, CONTROL, AIRLOCK, MEDICAL]);
}

function Module$Type_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_8(){
  $clinit_Module$Type();
  return $VALUES_7;
}

defineSeed(422, 119, makeCastMap([Q$Serializable, Q$Comparable, Q$Enum, Q$Module$Type]), Module$Type_0);
var $VALUES_7, AIRLOCK, CANTEEN, CONTROL, DORMITORY, FOOD_WATER, GYM_RELAXATION, MEDICAL, PLAIN, POWER, SANITATION;
function $addModule(this$static, module){
  var i, store, value_0, key;
  if (this$static.modules[module.code_0]) {
    throw new IllegalArgumentException_1('Module with code:' + module.code_0 + ' already exists');
  }
  for (i = 1; i < 191; i += 1) {
    if (!!this$static.modules[i] && this$static.modules[i].xCoord == module.xCoord && this$static.modules[i].yCoord == module.yCoord) {
      throw new IllegalArgumentException_1('Module already exists at that location');
    }
  }
  (!$equals(module.status_0, 'DAMAGED') || module.xCoord >= 40 && module.xCoord <= 50 && module.yCoord >= 40 && module.yCoord <= 50) && (module.type_0 == ($clinit_Module$Type() , PLAIN)?(this$static.plain += 1):module.type_0 == DORMITORY?(this$static.dormitory += 1):module.type_0 == SANITATION?(this$static.sanitation += 1):module.type_0 == FOOD_WATER?(this$static.water += 1):module.type_0 == GYM_RELAXATION?(this$static.gym += 1):module.type_0 == CANTEEN?(this$static.canteen += 1):module.type_0 == POWER?(this$static.power += 1):module.type_0 == CONTROL?(this$static.control += 1):module.type_0 == MEDICAL?(this$static.medical += 1):module.type_0 == AIRLOCK && (this$static.airlock += 1));
  this$static.modules[module.code_0] = module;
  store = getLocalStorageIfSupported();
  value_0 = '[{code:' + module.code_0 + ',status:"' + module.status_0 + '",turns:' + module.turns + ',X:' + module.xCoord + ',Y:' + module.yCoord + '}]';
  key = 'MHCS.Module.' + module.code_0;
  !!store && $setItem(store.storage, key, value_0);
}

function $clearList(this$static){
  var i, store;
  for (i = 1; i < 191; i += 1) {
    $deleteModule(this$static, i);
  }
  store = getLocalStorageIfSupported();
  !!store && $clear(store.storage);
}

function $deleteModule(this$static, code_0){
  var key, store;
  if (code_0 < 1 || code_0 >= 191) {
    throw new IndexOutOfBoundsException_1('Invalid code parameter');
  }
  this$static.modules[code_0] = null;
  store = getLocalStorageIfSupported();
  key = 'MHCS.Module.' + code_0;
  !!store && $removeItem(store.storage, key);
}

function $getModule(this$static, code_0){
  if (code_0 < 1 || code_0 >= 191) {
    throw new IndexOutOfBoundsException_1('Invalid code parameter');
  }
  return this$static.modules[code_0];
}

function $loadModules(this$static){
  var array, code_0, i, k, key, number, object, status_0, store, string, turns, value_0, xCoord, yCoord;
  store = getLocalStorageIfSupported();
  if (store) {
    for (i = 1; i < 191; i += 1) {
      key = 'MHCS.Module.' + i;
      value_0 = $getItem(store.storage, key);
      if (value_0 != null) {
        array = ($clinit_JSONParser() , dynamicCast(parse_0(value_0), Q$JSONArray));
        for (k = 0; k < array.jsArray.length; k += 1) {
          object = dynamicCast($get(array, k), Q$JSONObject);
          number = dynamicCast($get_0(object, 'code'), Q$JSONNumber);
          code_0 = round_int(number.value_0);
          string = dynamicCast($get_0(object, 'status'), Q$JSONString);
          status_0 = string.value_0;
          number = dynamicCast($get_0(object, 'turns'), Q$JSONNumber);
          turns = round_int(number.value_0);
          number = dynamicCast($get_0(object, 'X'), Q$JSONNumber);
          xCoord = round_int(number.value_0);
          number = dynamicCast($get_0(object, 'Y'), Q$JSONNumber);
          yCoord = round_int(number.value_0);
          $addModule(this$static, new Module_0(code_0, xCoord, yCoord, turns, status_0));
        }
      }
    }
  }
}

function ModuleList_0(){
  var i;
  this.modules = initDim(_3Lmhcs_client_module_Module_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Module, 191, 0);
  for (i = 0; i < 191; i += 1) {
    this.modules[i] = null;
  }
  $loadModules(this);
}

defineSeed(423, 1, {}, ModuleList_0);
_.airlock = 0;
_.canteen = 0;
_.control = 0;
_.dormitory = 0;
_.gym = 0;
_.medical = 0;
_.plain = 0;
_.power = 0;
_.sanitation = 0;
_.water = 0;
--></script>
<script><!--
function $calculateConfiguration(modules){
  var airlock, canteen, config, configuration, control, dormitory, eastTip, gym, i, i0, i1, i2, i3, i4, i5, i6, i7, i8, i9, k, medical, northTip, plain, power, sanitation, southTip, type_0, water, westTip, wings, coord, coord_0, coord_1, coord_2, coord_3, coord_4, coord_5, coord_6, coord_7, coord_8;
  config = initDims([_3_3Lmhcs_client_module_Module$Type_2_classLit, _3Lmhcs_client_module_Module$Type_2_classLit], [makeCastMap([Q$Serializable, Q$Object_$1]), makeCastMap([Q$Serializable, Q$Serializable_$1, Q$Comparable_$1, Q$Enum_$1, Q$Object_$1, Q$Module$Type_$1])], [Q$Module$Type_$1, Q$Module$Type], [25, 25], 2, 0);
  plain = modules.plain;
  airlock = modules.airlock;
  power = modules.power;
  water = modules.water;
  sanitation = modules.sanitation;
  canteen = modules.canteen;
  dormitory = modules.dormitory;
  gym = modules.gym;
  medical = modules.medical;
  control = modules.control;
  northTip = 0;
  southTip = 0;
  eastTip = 0;
  westTip = 0;
  if (airlock < 1 || control < 1 || power < 1 || water < 1 || dormitory < 1 || canteen < 1 || sanitation < 1 || plain < 3) {
    return null;
  }
  if (plain > 0) {
    config[12][12] = ($clinit_Module$Type() , PLAIN);
    plain -= 1;
  }
  for (wings = 4; wings > 0; wings -= 1) {
    i0 = 0;
    if (wings == 4) {
      for (i0 = 0; i0 < ~~(plain / 4); i0 += 1) {
        config[12 + i0 + 1][12] = ($clinit_Module$Type() , PLAIN);
      }
      northTip = 12 + i0;
    }
     else if (wings == 3) {
      for (i0 = 0; i0 < ~~(plain / 3); i0 += 1) {
        config[12][12 + i0 + 1] = ($clinit_Module$Type() , PLAIN);
      }
      eastTip = 12 + i0;
    }
     else if (wings == 2) {
      for (i0 = 0; i0 < ~~(plain / 2); i0 += 1) {
        config[12 - i0 - 1][12] = ($clinit_Module$Type() , PLAIN);
      }
      southTip = 12 - i0;
    }
     else if (wings == 1) {
      for (i0 = 0; i0 < plain; i0 += 1) {
        config[12][12 - i0 - 1] = ($clinit_Module$Type() , PLAIN);
      }
      westTip = 12 - i0;
    }
    plain -= i0;
  }
  for (i2 = 0; i2 < airlock; i2 += 1) {
    i2 == 0?(config[northTip + 1][12] = ($clinit_Module$Type() , AIRLOCK)):i2 == 1?(config[12][eastTip + 1] = ($clinit_Module$Type() , AIRLOCK)):i2 == 2?(config[southTip - 1][12] = ($clinit_Module$Type() , AIRLOCK)):i2 == 3 && (config[12][westTip - 1] = ($clinit_Module$Type() , AIRLOCK));
  }
  for (i8 = 0; i8 < medical; i8 += 1) {
    i8 == 0?(config[northTip][11] = ($clinit_Module$Type() , MEDICAL)):i8 == 1 && eastTip > 14?(config[13][eastTip] = ($clinit_Module$Type() , MEDICAL)):i8 == 2?(config[southTip][13] = ($clinit_Module$Type() , MEDICAL)):i8 == 3 && westTip < 10 && (config[11][westTip] = ($clinit_Module$Type() , MEDICAL));
  }
  for (i = 0; i < control; i += 1) {
    i == 0?(config[northTip][13] = ($clinit_Module$Type() , CONTROL)):i == 1 && eastTip > 14?(config[11][eastTip] = ($clinit_Module$Type() , CONTROL)):i == 2?(config[southTip][11] = ($clinit_Module$Type() , CONTROL)):i == 3 && westTip < 10 && (config[13][westTip] = ($clinit_Module$Type() , CONTROL));
  }
  for (i6 = 0; i6 < power; i6 += 1) {
    i6 == 0 && northTip - 1 > 12?(config[northTip - 1][11] = ($clinit_Module$Type() , POWER)):i6 == 1 && eastTip - 1 > 14?(config[13][eastTip - 1] = ($clinit_Module$Type() , POWER)):i6 == 2 && southTip + 1 < 12?(config[southTip + 1][13] = ($clinit_Module$Type() , POWER)):i6 == 3 && westTip + 1 > 10 && (config[11][westTip + 1] = ($clinit_Module$Type() , POWER));
  }
  for (i9 = 0; i9 < canteen; i9 += 1) {
    i9 == 0 && eastTip - 1 > 14?(config[11][eastTip - 1] = ($clinit_Module$Type() , CANTEEN)):i9 == 1 && westTip + 1 < 10?(config[13][westTip + 1] = ($clinit_Module$Type() , CANTEEN)):i9 == 2 && eastTip - 3 > 14?(config[11][eastTip - 3] = ($clinit_Module$Type() , CANTEEN)):i9 == 3 && westTip + 3 < 10 && (config[13][westTip + 3] = ($clinit_Module$Type() , CANTEEN));
  }
  for (i3 = 0; i3 < water; i3 += 1) {
    i3 == 0 && westTip + 2 < 10?(config[13][westTip + 2] = ($clinit_Module$Type() , FOOD_WATER)):i3 == 1 && eastTip - 2 > 14?(config[13][eastTip - 2] = ($clinit_Module$Type() , FOOD_WATER)):i3 == 2 && westTip + 2 < 10?(config[11][westTip + 2] = ($clinit_Module$Type() , FOOD_WATER)):i3 == 3 && eastTip - 2 > 14?(config[11][eastTip - 2] = ($clinit_Module$Type() , FOOD_WATER)):i3 == 4 && westTip + 3 < 10?(config[11][westTip + 3] = ($clinit_Module$Type() , FOOD_WATER)):i3 == 5 && eastTip - 3 > 14?(config[13][eastTip - 3] = ($clinit_Module$Type() , FOOD_WATER)):i3 == 6 && westTip + 4 < 10?(config[11][westTip + 4] = ($clinit_Module$Type() , FOOD_WATER)):i3 == 7 && eastTip - 4 > 14?(config[11][eastTip - 4] = ($clinit_Module$Type() , FOOD_WATER)):i3 == 8 && westTip + 4 < 10?(config[13][westTip + 4] = ($clinit_Module$Type() , FOOD_WATER)):i3 == 9 && eastTip - 4 > 14 && (config[13][eastTip - 4] = ($clinit_Module$Type() , FOOD_WATER));
  }
  for (i7 = 0; i7 < gym; i7 += 1) {
    i7 == 0 && northTip - 2 > 12?(config[northTip - 2][13] = ($clinit_Module$Type() , GYM_RELAXATION)):i7 == 1 && eastTip - 6 > 14?(config[13][eastTip - 6] = ($clinit_Module$Type() , GYM_RELAXATION)):i7 == 2 && southTip + 2 < 12?(config[southTip + 2][11] = ($clinit_Module$Type() , GYM_RELAXATION)):i7 == 3 && westTip + 6 < 10 && (config[13][westTip + 6] = ($clinit_Module$Type() , GYM_RELAXATION));
  }
  for (i1 = 0; i1 < sanitation; i1 += 1) {
    i1 == 0 && northTip - 1 > 12?(config[northTip - 1][13] = ($clinit_Module$Type() , SANITATION)):i1 == 1 && southTip + 1 < 12?(config[southTip + 1][11] = ($clinit_Module$Type() , SANITATION)):i1 == 2 && northTip - 3 > 12?(config[northTip - 3][13] = ($clinit_Module$Type() , SANITATION)):i1 == 3 && southTip + 3 < 12?(config[southTip + 3][11] = ($clinit_Module$Type() , SANITATION)):i1 == 4 && northTip - 5 > 12?(config[northTip - 5][13] = ($clinit_Module$Type() , SANITATION)):i1 == 5 && southTip + 5 < 12?(config[southTip + 5][11] = ($clinit_Module$Type() , SANITATION)):i1 == 6 && westTip + 6 < 10?(config[11][westTip + 6] = ($clinit_Module$Type() , SANITATION)):i1 == 7 && eastTip - 6 > 14?(config[11][eastTip - 6] = ($clinit_Module$Type() , SANITATION)):i1 == 8 && northTip - 6 > 12?(config[northTip - 6][13] = ($clinit_Module$Type() , SANITATION)):i1 == 9 && southTip + 6 < 12 && (config[southTip + 6][11] = ($clinit_Module$Type() , SANITATION));
  }
  for (i5 = 0; i5 < dormitory; i5 += 1) {
    i5 == 0 && northTip - 2 > 12?(config[northTip - 2][11] = ($clinit_Module$Type() , DORMITORY)):i5 == 1 && southTip + 2 < 12?(config[southTip + 2][13] = ($clinit_Module$Type() , DORMITORY)):i5 == 2 && northTip - 3 > 12?(config[northTip - 3][11] = ($clinit_Module$Type() , DORMITORY)):i5 == 3 && southTip + 3 < 12?(config[southTip + 3][13] = ($clinit_Module$Type() , DORMITORY)):i5 == 4 && northTip - 4 > 12?(config[northTip - 4][13] = ($clinit_Module$Type() , DORMITORY)):i5 == 5 && southTip + 4 < 12?(config[southTip + 4][11] = ($clinit_Module$Type() , DORMITORY)):i5 == 6 && northTip - 4 > 12?(config[northTip - 4][11] = ($clinit_Module$Type() , DORMITORY)):i5 == 7 && southTip + 4 < 12?(config[southTip + 4][13] = ($clinit_Module$Type() , DORMITORY)):i5 == 8 && westTip + 5 < 10?(config[11][westTip + 5] = ($clinit_Module$Type() , DORMITORY)):i5 == 9 && eastTip - 5 > 14?(config[13][eastTip - 5] = ($clinit_Module$Type() , DORMITORY)):i5 == 10 && westTip + 5 < 10?(config[13][westTip + 5] = ($clinit_Module$Type() , DORMITORY)):i5 == 11 && eastTip - 5 > 14?(config[11][eastTip - 5] = ($clinit_Module$Type() , DORMITORY)):i5 == 12 && northTip - 5 > 12?(config[northTip - 5][13] = ($clinit_Module$Type() , DORMITORY)):i5 == 13 && southTip + 5 < 12?(config[southTip + 5][11] = ($clinit_Module$Type() , DORMITORY)):i5 == 14 && northTip - 6 > 12?(config[northTip - 6][11] = ($clinit_Module$Type() , DORMITORY)):i5 == 15 && southTip + 6 < 12?(config[southTip + 6][13] = ($clinit_Module$Type() , DORMITORY)):i5 == 16 && northTip - 7 > 12?(config[northTip - 7][11] = ($clinit_Module$Type() , DORMITORY)):i5 == 17 && southTip + 7 < 12?(config[southTip + 7][13] = ($clinit_Module$Type() , DORMITORY)):i5 == 18 && northTip - 7 > 12?(config[northTip - 7][13] = ($clinit_Module$Type() , DORMITORY)):i5 == 19 && southTip + 7 < 12 && (config[southTip + 7][11] = ($clinit_Module$Type() , DORMITORY));
  }
  configuration = new ModuleConfiguration_0;
  for (i4 = 0; i4 < 25; i4 += 1) {
    for (k = 0; k < 25; k += 1) {
      type_0 = config[i4][k];
      !!type_0 && (type_0 == ($clinit_Module$Type() , AIRLOCK)?(coord = new ModuleConfiguration$Coordinates_0(i4, k) , $add_7(configuration.airlockModules, coord) , undefined):type_0 == CANTEEN?(coord_0 = new ModuleConfiguration$Coordinates_0(i4, k) , $add_7(configuration.canteenModules, coord_0) , undefined):type_0 == CONTROL?(coord_1 = new ModuleConfiguration$Coordinates_0(i4, k) , $add_7(configuration.controlModules, coord_1) , undefined):type_0 == DORMITORY?(coord_2 = new ModuleConfiguration$Coordinates_0(i4, k) , $add_7(configuration.dormitoryModules, coord_2) , undefined):type_0 == FOOD_WATER?(coord_3 = new ModuleConfiguration$Coordinates_0(i4, k) , $add_7(configuration.foodAndWaterModules, coord_3) , undefined):type_0 == GYM_RELAXATION?(coord_4 = new ModuleConfiguration$Coordinates_0(i4, k) , $add_7(configuration.gymAndRelaxationModules, coord_4) , undefined):type_0 == MEDICAL?(coord_5 = new ModuleConfiguration$Coordinates_0(i4, k) , $add_7(configuration.medicalModules, coord_5) , undefined):type_0 == PLAIN?(coord_6 = new ModuleConfiguration$Coordinates_0(i4, k) , $add_7(configuration.plainModules, coord_6) , undefined):type_0 == POWER?(coord_7 = new ModuleConfiguration$Coordinates_0(i4, k) , $add_7(configuration.powerModules, coord_7) , undefined):type_0 == SANITATION && (coord_8 = new ModuleConfiguration$Coordinates_0(i4, k) , $add_7(configuration.sanitationModules, coord_8) , undefined));
    }
  }
  return configuration;
}

function $getConfigurationGrid(config){
  var coord, g, i, i0, i1, i2, i3, i4, i5, i6, i7, i8, xCoord, yCoord;
  if (!config) {
    return null;
  }
  g = new Grid_0;
  for (xCoord = 0; xCoord < 50; ++xCoord) {
    for (yCoord = 0; yCoord < 100; ++yCoord) {
      $setStyleName_1(g.cellFormatter, xCoord, yCoord);
    }
  }
  for (i = 0; i < config.airlockModules.size_0; i += 1) {
    coord = dynamicCast($get_4(config.airlockModules, i), Q$ModuleConfiguration$Coordinates);
    g = $setImage(g, 50 - coord.xCoord, coord.yCoord, ($clinit_Module$Type() , AIRLOCK));
    $setStyleName_1(g.cellFormatter, coord.xCoord, coord.yCoord);
  }
  for (i0 = 0; i0 < config.canteenModules.size_0; i0 += 1) {
    coord = dynamicCast($get_4(config.canteenModules, i0), Q$ModuleConfiguration$Coordinates);
    g = $setImage(g, 50 - coord.xCoord, coord.yCoord, ($clinit_Module$Type() , CANTEEN));
    $setStyleName_1(g.cellFormatter, coord.xCoord, coord.yCoord);
  }
  for (i5 = 0; i5 < config.controlModules.size_0; i5 += 1) {
    coord = dynamicCast($get_4(config.controlModules, i5), Q$ModuleConfiguration$Coordinates);
    g = $setImage(g, 50 - coord.xCoord, coord.yCoord, ($clinit_Module$Type() , CONTROL));
    $setStyleName_1(g.cellFormatter, coord.xCoord, coord.yCoord);
  }
  for (i7 = 0; i7 < config.dormitoryModules.size_0; i7 += 1) {
    coord = dynamicCast($get_4(config.dormitoryModules, i7), Q$ModuleConfiguration$Coordinates);
    g = $setImage(g, 50 - coord.xCoord, coord.yCoord, ($clinit_Module$Type() , DORMITORY));
    $setStyleName_1(g.cellFormatter, coord.xCoord, coord.yCoord);
  }
  for (i8 = 0; i8 < config.foodAndWaterModules.size_0; i8 += 1) {
    coord = dynamicCast($get_4(config.foodAndWaterModules, i8), Q$ModuleConfiguration$Coordinates);
    g = $setImage(g, 50 - coord.xCoord, coord.yCoord, ($clinit_Module$Type() , FOOD_WATER));
    $setStyleName_1(g.cellFormatter, coord.xCoord, coord.yCoord);
  }
  for (i2 = 0; i2 < config.gymAndRelaxationModules.size_0; i2 += 1) {
    coord = dynamicCast($get_4(config.gymAndRelaxationModules, i2), Q$ModuleConfiguration$Coordinates);
    g = $setImage(g, 50 - coord.xCoord, coord.yCoord, ($clinit_Module$Type() , GYM_RELAXATION));
    $setStyleName_1(g.cellFormatter, coord.xCoord, coord.yCoord);
  }
  for (i6 = 0; i6 < config.medicalModules.size_0; i6 += 1) {
    coord = dynamicCast($get_4(config.medicalModules, i6), Q$ModuleConfiguration$Coordinates);
    g = $setImage(g, 50 - coord.xCoord, coord.yCoord, ($clinit_Module$Type() , MEDICAL));
    $setStyleName_1(g.cellFormatter, coord.xCoord, coord.yCoord);
  }
  for (i1 = 0; i1 < config.plainModules.size_0; i1 += 1) {
    coord = dynamicCast($get_4(config.plainModules, i1), Q$ModuleConfiguration$Coordinates);
    g = $setImage(g, 50 - coord.xCoord, coord.yCoord, ($clinit_Module$Type() , PLAIN));
    $setStyleName_1(g.cellFormatter, coord.xCoord, coord.yCoord);
  }
  for (i3 = 0; i3 < config.powerModules.size_0; i3 += 1) {
    coord = dynamicCast($get_4(config.powerModules, i3), Q$ModuleConfiguration$Coordinates);
    g = $setImage(g, 50 - coord.xCoord, coord.yCoord, ($clinit_Module$Type() , POWER));
    $setStyleName_1(g.cellFormatter, coord.xCoord, coord.yCoord);
  }
  for (i4 = 0; i4 < config.sanitationModules.size_0; i4 += 1) {
    coord = dynamicCast($get_4(config.sanitationModules, i4), Q$ModuleConfiguration$Coordinates);
    g = $setImage(g, 50 - coord.xCoord, coord.yCoord, ($clinit_Module$Type() , SANITATION));
    $setStyleName_1(g.cellFormatter, coord.xCoord, coord.yCoord);
  }
  return g;
}

function $setImage(g, row, col, type_0){
  var image;
  if (type_0) {
    if (type_0 == ($clinit_Module$Type() , PLAIN)) {
      image = new Image_2('images/Plain.jpg');
      ($clinit_DOM() , image.element).style['width'] = '12px';
      image.element.style['height'] = '12px';
      $setWidget_2(g, row, col, image);
    }
     else if (type_0 == DORMITORY) {
      image = new Image_2('images/Dormitory.jpg');
      ($clinit_DOM() , image.element).style['width'] = '12px';
      image.element.style['height'] = '12px';
      $setWidget_2(g, row, col, image);
    }
     else if (type_0 == SANITATION) {
      image = new Image_2('images/Sanitation.jpg');
      ($clinit_DOM() , image.element).style['width'] = '12px';
      image.element.style['height'] = '12px';
      $setWidget_2(g, row, col, image);
    }
     else if (type_0 == FOOD_WATER) {
      image = new Image_2('images/Food.jpg');
      ($clinit_DOM() , image.element).style['width'] = '12px';
      image.element.style['height'] = '12px';
      $setWidget_2(g, row, col, image);
    }
     else if (type_0 == GYM_RELAXATION) {
      image = new Image_2('images/Gym.jpg');
      ($clinit_DOM() , image.element).style['width'] = '12px';
      image.element.style['height'] = '12px';
      $setWidget_2(g, row, col, image);
    }
     else if (type_0 == CANTEEN) {
      image = new Image_2('images/Canteen.jpg');
      ($clinit_DOM() , image.element).style['width'] = '12px';
      image.element.style['height'] = '12px';
      $setWidget_2(g, row, col, image);
    }
     else if (type_0 == POWER) {
      image = new Image_2('images/Power.jpg');
      ($clinit_DOM() , image.element).style['width'] = '12px';
      image.element.style['height'] = '12px';
      $setWidget_2(g, row, col, image);
    }
     else if (type_0 == CONTROL) {
      image = new Image_2('images/Control.jpg');
      ($clinit_DOM() , image.element).style['width'] = '12px';
      image.element.style['height'] = '12px';
      $setWidget_2(g, row, col, image);
    }
     else if (type_0 == MEDICAL) {
      image = new Image_2('images/Medical.jpg');
      ($clinit_DOM() , image.element).style['width'] = '12px';
      image.element.style['height'] = '12px';
      $setWidget_2(g, row, col, image);
    }
     else if (type_0 == AIRLOCK) {
      image = new Image_2('images/Airlock.jpg');
      ($clinit_DOM() , image.element).style['width'] = '12px';
      image.element.style['height'] = '12px';
      $setWidget_2(g, row, col, image);
    }
  }
  return g;
}

function ModuleConfiguration_0(){
  this.plainModules = new ArrayList_0;
  this.dormitoryModules = new ArrayList_0;
  this.sanitationModules = new ArrayList_0;
  this.controlModules = new ArrayList_0;
  this.foodAndWaterModules = new ArrayList_0;
  this.gymAndRelaxationModules = new ArrayList_0;
  this.canteenModules = new ArrayList_0;
  this.powerModules = new ArrayList_0;
  this.airlockModules = new ArrayList_0;
  this.medicalModules = new ArrayList_0;
}

defineSeed(425, 1, {}, ModuleConfiguration_0);
function ModuleConfiguration$Coordinates_0(x_0, y_0){
  this.xCoord = x_0;
  this.yCoord = y_0;
}

defineSeed(426, 1, makeCastMap([Q$ModuleConfiguration$Coordinates]), ModuleConfiguration$Coordinates_0);
_.xCoord = 0;
_.yCoord = 0;
function $asWidget(this$static){
  var g, i, module, xCoord, yCoord;
  g = new Grid_0;
  $setClassName($getStyleElement(g), 'grid');
  for (xCoord = 0; xCoord < 50; ++xCoord) {
    for (yCoord = 0; yCoord < 100; ++yCoord) {
      $setStyleName_1(g.cellFormatter, xCoord, yCoord);
    }
  }
  for (i = 1; i < 190; i += 1) {
    module = $getModule(this$static.modList, i);
    if (module) {
      xCoord = module.xCoord;
      yCoord = module.yCoord;
      g = $setImage_0(g, 49 - (yCoord - 1), xCoord - 1, module);
    }
  }
  return g;
}

function $setImage_0(g, row, col, module){
  var image;
  if (module.type_0 == ($clinit_Module$Type() , PLAIN)) {
    image = new Image_2('images/Plain.jpg');
    ($clinit_DOM() , image.element).style['width'] = '12px';
    image.element.style['height'] = '12px';
    $setWidget_2(g, row, col, image);
  }
   else if (module.type_0 == DORMITORY) {
    image = new Image_2('images/Dormitory.jpg');
    ($clinit_DOM() , image.element).style['width'] = '12px';
    image.element.style['height'] = '12px';
    $setWidget_2(g, row, col, image);
  }
   else if (module.type_0 == SANITATION) {
    image = new Image_2('images/Sanitation.jpg');
    ($clinit_DOM() , image.element).style['width'] = '12px';
    image.element.style['height'] = '12px';
    $setWidget_2(g, row, col, image);
  }
   else if (module.type_0 == FOOD_WATER) {
    image = new Image_2('images/Food.jpg');
    ($clinit_DOM() , image.element).style['width'] = '12px';
    image.element.style['height'] = '12px';
    $setWidget_2(g, row, col, image);
  }
   else if (module.type_0 == GYM_RELAXATION) {
    image = new Image_2('images/Gym.jpg');
    ($clinit_DOM() , image.element).style['width'] = '12px';
    image.element.style['height'] = '12px';
    $setWidget_2(g, row, col, image);
  }
   else if (module.type_0 == CANTEEN) {
    image = new Image_2('images/Canteen.jpg');
    ($clinit_DOM() , image.element).style['width'] = '12px';
    image.element.style['height'] = '12px';
    $setWidget_2(g, row, col, image);
  }
   else if (module.type_0 == POWER) {
    image = new Image_2('images/Power.jpg');
    ($clinit_DOM() , image.element).style['width'] = '12px';
    image.element.style['height'] = '12px';
    $setWidget_2(g, row, col, image);
  }
   else if (module.type_0 == CONTROL) {
    image = new Image_2('images/Control.jpg');
    ($clinit_DOM() , image.element).style['width'] = '12px';
    image.element.style['height'] = '12px';
    $setWidget_2(g, row, col, image);
  }
   else if (module.type_0 == MEDICAL) {
    image = new Image_2('images/Medical.jpg');
    ($clinit_DOM() , image.element).style['width'] = '12px';
    image.element.style['height'] = '12px';
    $setWidget_2(g, row, col, image);
  }
   else if (module.type_0 == AIRLOCK) {
    image = new Image_2('images/Airlock.jpg');
    ($clinit_DOM() , image.element).style['width'] = '12px';
    image.element.style['height'] = '12px';
    $setWidget_2(g, row, col, image);
  }
  return g;
}

function ModuleMap_0(moduleList){
  this.modList = moduleList;
}

defineSeed(427, 1, makeCastMap([Q$IsWidget]), ModuleMap_0);
function $clinit_Weather(){
  $clinit_Weather = nullMethod;
  VP = new VerticalPanel_0;
}

function $asWidget_0(){
  var builder, logo, url_0;
  $setSize(VP);
  logo = new Image_2('images/wundergroundLogo_4c.jpg');
  ($clinit_DOM() , logo.element).style['width'] = '107px';
  logo.element.style['height'] = '107px';
  url_0 = 'http://d.umn.edu/~dawso172/war/Weather.php?url=http://api.wunderground.com/api/0a4dcfa0929f5d9b/conditions/q/55812.json';
  url_0 = (throwIfNull('decodedURL', url_0) , encodeURI(url_0));
  builder = new RequestBuilder_0(($clinit_RequestBuilder() , GET), url_0);
  try {
    $sendRequest(builder, new Weather$1_0(logo));
  }
   catch ($e0) {
    $e0 = wrap($e0);
    if (instanceOf($e0, Q$RequestException)) {
      alert_0("RequestException: Couldn't retrieve JSON");
    }
     else 
      throw unwrap($e0);
  }
  $addStyleName(VP, 'weatherPanel');
  return VP;
}

function Weather_0(){
  $clinit_Weather();
}

defineSeed(428, 1, makeCastMap([Q$IsWidget]), Weather_0);
var VP;
function $onResponseReceived(this$static, response){
  var rt, jA, jTry, jB, temp, visibility, sTemp, sVisibility;
  if (200 == $getStatusCode(response)) {
    rt = response.xmlHttpRequest.responseText;
    jA = ($clinit_JSONParser() , dynamicCast(parse_0(rt), Q$JSONObject));
    jTry = $get_0(jA, 'current_observation');
    jB = dynamicCast(parse_0(jTry.toString$()), Q$JSONObject);
    temp = $get_0(jB, 'temp_c');
    visibility = $get_0(jB, 'visibility_km');
    sTemp = temp.toString$();
    sVisibility = visibility.toString$();
    $add_4(($clinit_Weather() , VP), this$static.val$logo);
    $add_4(VP, new Label_0('Temp in C: ' + sTemp));
    $add_4(VP, new Label_0('Visibility in Km: ' + sVisibility));
    $setPropertyInt(VP.table, 'cellSpacing', 2);
  }
   else {
    alert_0("Couldn't retrieve JSON (" + $getStatusCode(response) + ')');
  }
}

function Weather$1_0(val$logo){
  this.val$logo = val$logo;
}

defineSeed(429, 1, {}, Weather$1_0);
var $entry = registerEntry();
function gwtOnLoad(errFn, modName, modBase, softPermutationId){
  $moduleName = modName;
  $moduleBase = modBase;
  if (errFn)
    try {
      $entry(init)();
    }
     catch (e) {
      errFn(modName);
    }
   else {
    $entry(init)();
  }
}

--></script>
<script><!--
var Ljava_lang_Object_2_classLit = createForClass('java.lang.', 'Object', 1), Lcom_google_gwt_core_client_Scheduler_2_classLit = createForClass('com.google.gwt.core.client.', 'Scheduler', 91), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptObject$', 87), _3I_classLit = createForArray('', '[I', 435), _3Ljava_lang_Object_2_classLit = createForArray('[Ljava.lang.', 'Object;', 433), Ljava_lang_Throwable_2_classLit = createForClass('java.lang.', 'Throwable', 86), Ljava_lang_Exception_2_classLit = createForClass('java.lang.', 'Exception', 85), Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang.', 'RuntimeException', 84), Ljava_lang_StackTraceElement_2_classLit = createForClass('java.lang.', 'StackTraceElement', 374), _3Ljava_lang_StackTraceElement_2_classLit = createForArray('[Ljava.lang.', 'StackTraceElement;', 436), Lcom_google_gwt_lang_SeedUtil_2_classLit = createForClass('com.google.gwt.lang.', 'SeedUtil', 213), Ljava_lang_Enum_2_classLit = createForClass('java.lang.', 'Enum', 119), Ljava_lang_Boolean_2_classLit = createForClass('java.lang.', 'Boolean', 359), Ljava_lang_Number_2_classLit = createForClass('java.lang.', 'Number', 364), _3C_classLit = createForArray('', '[C', 437), Ljava_lang_Class_2_classLit = createForClass('java.lang.', 'Class', 361), Ljava_lang_Double_2_classLit = createForClass('java.lang.', 'Double', 363), Ljava_lang_Integer_2_classLit = createForClass('java.lang.', 'Integer', 368), _3Ljava_lang_Integer_2_classLit = createForArray('[Ljava.lang.', 'Integer;', 438), Ljava_lang_String_2_classLit = createForClass('java.lang.', 'String', 2), _3Ljava_lang_String_2_classLit = createForArray('[Ljava.lang.', 'String;', 434), Lmhcs_client_MarsHabitatConfigurationSystem$1_2_classLit = createForClass('mhcs.client.', 'MarsHabitatConfigurationSystem$1', 403), Lmhcs_client_MarsHabitatConfigurationSystem$2_2_classLit = createForClass('mhcs.client.', 'MarsHabitatConfigurationSystem$2', 404), Lmhcs_client_MarsHabitatConfigurationSystem$2$1_2_classLit = createForClass('mhcs.client.', 'MarsHabitatConfigurationSystem$2$1', 405), Lmhcs_client_MarsHabitatConfigurationSystem$3_2_classLit = createForClass('mhcs.client.', 'MarsHabitatConfigurationSystem$3', 406), Lmhcs_client_MarsHabitatConfigurationSystem$4_2_classLit = createForClass('mhcs.client.', 'MarsHabitatConfigurationSystem$4', 407), Lmhcs_client_MarsHabitatConfigurationSystem$4$1_2_classLit = createForClass('mhcs.client.', 'MarsHabitatConfigurationSystem$4$1', 408), Lmhcs_client_MarsHabitatConfigurationSystem$5_2_classLit = createForClass('mhcs.client.', 'MarsHabitatConfigurationSystem$5', 409), Lmhcs_client_MarsHabitatConfigurationSystem$6_2_classLit = createForClass('mhcs.client.', 'MarsHabitatConfigurationSystem$6', 410), Lmhcs_client_MarsHabitatConfigurationSystem$7_2_classLit = createForClass('mhcs.client.', 'MarsHabitatConfigurationSystem$7', 411), Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'UIObject', 267), Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Widget', 266), Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Panel', 265), Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel', 283), Lcom_google_gwt_user_client_ui_PopupPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel', 282), Lcom_google_gwt_animation_client_Animation_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation', 3), Lcom_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$ResizeAnimation', 325), Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer', 10), Lcom_google_gwt_user_client_ui_PopupPanel$ResizeAnimation$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$ResizeAnimation$1', 326), Lcom_google_gwt_user_client_ui_PopupPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$1', 322), Lcom_google_gwt_user_client_ui_PopupPanel$3_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$3', 323), Lcom_google_gwt_user_client_ui_PopupPanel$4_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$4', 324), Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel$1', 333), Lcom_google_gwt_animation_client_Animation$1_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation$1', 4), Lcom_google_gwt_animation_client_AnimationScheduler_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationScheduler', 5), Lcom_google_gwt_animation_client_AnimationScheduler$AnimationHandle_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationScheduler$AnimationHandle', 6), Lcom_google_web_bindery_event_shared_Event_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'Event', 160), Lcom_google_gwt_event_shared_GwtEvent_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent', 159), Lcom_google_gwt_user_client_Event$NativePreviewEvent_2_classLit = createForClass('com.google.gwt.user.client.', 'Event$NativePreviewEvent', 247), Lcom_google_web_bindery_event_shared_Event$Type_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'Event$Type', 166), Lcom_google_gwt_event_shared_GwtEvent$Type_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent$Type', 165), Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang.', 'ClassCastException', 362), Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptException', 83), Ljava_lang_StringBuilder_2_classLit = createForClass('java.lang.', 'StringBuilder', 377), Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang.', 'ArrayStoreException', 358), Lmhcs_client_module_ModuleList_2_classLit = createForClass('mhcs.client.module.', 'ModuleList', 423), Lmhcs_client_module_Module_2_classLit = createForClass('mhcs.client.module.', 'Module', 421), _3Lmhcs_client_module_Module_2_classLit = createForArray('[Lmhcs.client.module.', 'Module;', 439), Lcom_google_gwt_user_client_ui_Composite_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Composite', 276), Lcom_google_gwt_user_client_ui_ResizeComposite_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ResizeComposite', 328), Lcom_google_gwt_user_client_ui_TabLayoutPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabLayoutPanel', 334), Lcom_google_gwt_user_client_ui_TabLayoutPanel$Tab_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabLayoutPanel$Tab', 336), Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ComplexPanel', 264), Lcom_google_gwt_user_client_ui_DeckLayoutPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DeckLayoutPanel', 277), Lcom_google_gwt_user_client_ui_TabLayoutPanel$TabbedDeckLayoutPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabLayoutPanel$TabbedDeckLayoutPanel', 337), Lcom_google_gwt_user_client_ui_TabLayoutPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabLayoutPanel$1', 335), Lcom_google_gwt_user_client_ui_LayoutCommand_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'LayoutCommand', 279), Lcom_google_gwt_user_client_ui_DeckLayoutPanel$DeckAnimateCommand_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DeckLayoutPanel$DeckAnimateCommand', 278), Lcom_google_gwt_user_client_ui_DeckLayoutPanel$DeckAnimateCommand$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DeckLayoutPanel$DeckAnimateCommand$1', 280), Lcom_google_web_bindery_event_shared_UmbrellaException_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'UmbrellaException', 182), Lcom_google_gwt_event_shared_UmbrellaException_2_classLit = createForClass('com.google.gwt.event.shared.', 'UmbrellaException', 181), Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException', 269), Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$1', 270), Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$2', 271), Lcom_google_gwt_user_client_ui_LayoutCommand$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'LayoutCommand$1', 304), Lcom_google_gwt_layout_client_Layout_2_classLit = createForClass('com.google.gwt.layout.client.', 'Layout', 216), Lcom_google_gwt_layout_client_Layout$Layer_2_classLit = createForClass('com.google.gwt.layout.client.', 'Layout$Layer', 218), Lcom_google_gwt_layout_client_Layout$1_2_classLit = createForClass('com.google.gwt.layout.client.', 'Layout$1', 217), Lmhcs_client_moduleMap_ModuleMap_2_classLit = createForClass('mhcs.client.moduleMap.', 'ModuleMap', 427), Lmhcs_client_weather_Weather_2_classLit = createForClass('mhcs.client.weather.', 'Weather', 428), Lmhcs_client_weather_Weather$1_2_classLit = createForClass('mhcs.client.weather.', 'Weather$1', 429), Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AbsolutePanel', 263), Lcom_google_gwt_user_client_ui_RootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel', 329), Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$DefaultRootPanel', 332), Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$1', 330), Lcom_google_gwt_user_client_ui_RootPanel$3_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$3', 331), Lcom_google_gwt_user_client_ui_MenuBar_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'MenuBar', 309), Lcom_google_gwt_user_client_ui_MenuBar$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'MenuBar$1', 310), Lcom_google_gwt_user_client_ui_MenuBar$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'MenuBar$2', 311), Lcom_google_gwt_user_client_ui_DecoratedPopupPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DecoratedPopupPanel', 281), Lcom_google_gwt_user_client_ui_MenuBar$3_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'MenuBar$3', 312), Lcom_google_gwt_user_client_ui_MenuBar$4_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'MenuBar$4', 313), Lmhcs_client_gui_Login_2_classLit = createForClass('mhcs.client.gui.', 'Login', 415), Lmhcs_client_gui_Login$1_2_classLit = createForClass('mhcs.client.gui.', 'Login$1', 416), Lcom_google_gwt_dom_client_Style$Unit_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit', 139, values_4), _3Lcom_google_gwt_dom_client_Style$Unit_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Unit;', 440), Lcom_google_gwt_dom_client_Style$Display_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display', 118, values_0), _3Lcom_google_gwt_dom_client_Style$Display_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Display;', 441), Lcom_google_gwt_dom_client_Style$Overflow_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow', 124, values_1), _3Lcom_google_gwt_dom_client_Style$Overflow_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Overflow;', 442), Lcom_google_gwt_dom_client_Style$Position_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position', 129, values_2), _3Lcom_google_gwt_dom_client_Style$Position_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Position;', 443), Lcom_google_gwt_dom_client_Style$TextAlign_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextAlign', 134, values_3), _3Lcom_google_gwt_dom_client_Style$TextAlign_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$TextAlign;', 444), Lcom_google_gwt_dom_client_Style$Visibility_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Visibility', 149, values_5), _3Lcom_google_gwt_dom_client_Style$Visibility_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Visibility;', 445), Lcom_google_gwt_dom_client_Style$Unit$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$1', 140, null), Lcom_google_gwt_dom_client_Style$Unit$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$2', 141, null), Lcom_google_gwt_dom_client_Style$Unit$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$3', 142, null), Lcom_google_gwt_dom_client_Style$Unit$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$4', 143, null), Lcom_google_gwt_dom_client_Style$Unit$5_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$5', 144, null), Lcom_google_gwt_dom_client_Style$Unit$6_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$6', 145, null), Lcom_google_gwt_dom_client_Style$Unit$7_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$7', 146, null), Lcom_google_gwt_dom_client_Style$Unit$8_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$8', 147, null), Lcom_google_gwt_dom_client_Style$Unit$9_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$9', 148, null), Lcom_google_gwt_dom_client_Style$Display$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$1', 120, null), Lcom_google_gwt_dom_client_Style$Display$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$2', 121, null), Lcom_google_gwt_dom_client_Style$Display$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$3', 122, null), Lcom_google_gwt_dom_client_Style$Display$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$4', 123, null), Lcom_google_gwt_dom_client_Style$Overflow$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$1', 125, null), Lcom_google_gwt_dom_client_Style$Overflow$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$2', 126, null), Lcom_google_gwt_dom_client_Style$Overflow$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$3', 127, null), Lcom_google_gwt_dom_client_Style$Overflow$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$4', 128, null), Lcom_google_gwt_dom_client_Style$Position$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$1', 130, null), Lcom_google_gwt_dom_client_Style$Position$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$2', 131, null), Lcom_google_gwt_dom_client_Style$Position$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$3', 132, null), Lcom_google_gwt_dom_client_Style$Position$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$4', 133, null), Lcom_google_gwt_dom_client_Style$TextAlign$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextAlign$1', 135, null), Lcom_google_gwt_dom_client_Style$TextAlign$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextAlign$2', 136, null), Lcom_google_gwt_dom_client_Style$TextAlign$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextAlign$3', 137, null), Lcom_google_gwt_dom_client_Style$TextAlign$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextAlign$4', 138, null), Lcom_google_gwt_dom_client_Style$Visibility$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Visibility$1', 150, null), Lcom_google_gwt_dom_client_Style$Visibility$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Visibility$2', 151, null), Lcom_google_gwt_user_client_ui_MenuItem_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'MenuItem', 316), Lcom_google_gwt_user_client_ui_MenuItemSeparator_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'MenuItemSeparator', 317), Lcom_google_web_bindery_event_shared_EventBus_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'EventBus', 175), Lcom_google_gwt_event_shared_EventBus_2_classLit = createForClass('com.google.gwt.event.shared.', 'EventBus', 174), Lcom_google_gwt_event_shared_SimpleEventBus_2_classLit = createForClass('com.google.gwt.event.shared.', 'SimpleEventBus', 180), Lmhcs_client_AddEvent_2_classLit = createForClass('mhcs.client.', 'AddEvent', 401), Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang.', 'NullPointerException', 371), Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang.', 'IllegalArgumentException', 365), Lcom_google_gwt_core_client_impl_StringBufferImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImpl', 99), Lmhcs_client_module_Module$Type_2_classLit = createForEnum('mhcs.client.module.', 'Module$Type', 422, values_8), _3Lmhcs_client_module_Module$Type_2_classLit = createForArray('[Lmhcs.client.module.', 'Module$Type;', 446), Lcom_google_gwt_user_client_ui_LayoutPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'LayoutPanel', 305), Lcom_google_gwt_user_client_ui_FlowPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FlowPanel', 286), Ljava_util_AbstractMap_2_classLit = createForClass('java.util.', 'AbstractMap', 381), Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util.', 'AbstractHashMap', 380), Ljava_util_HashMap_2_classLit = createForClass('java.util.', 'HashMap', 396), Ljava_util_AbstractCollection_2_classLit = createForClass('java.util.', 'AbstractCollection', 379), Ljava_util_AbstractSet_2_classLit = createForClass('java.util.', 'AbstractSet', 383), Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySet', 382), Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySetIterator', 384), Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util.', 'AbstractMapEntry', 386), Ljava_util_AbstractHashMap$MapEntryNull_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryNull', 385), Ljava_util_AbstractHashMap$MapEntryString_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryString', 387), Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util.', 'AbstractMap$1', 391), Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util.', 'AbstractMap$1$1', 392), Ljava_util_HashSet_2_classLit = createForClass('java.util.', 'HashSet', 397), Lcom_google_gwt_user_client_ui_LabelBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'LabelBase', 303), Lcom_google_gwt_user_client_ui_Label_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Label', 302), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$AutoHorizontalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$AutoHorizontalAlignmentConstant', 294), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$HorizontalAlignmentConstant', 295), Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit = createForEnum('com.google.gwt.i18n.client.', 'HasDirection$Direction', 197, values_6), _3Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit = createForArray('[Lcom.google.gwt.i18n.client.', 'HasDirection$Direction;', 447), Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FocusWidget', 274), Lcom_google_gwt_user_client_ui_ValueBoxBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ValueBoxBase', 321), Lcom_google_gwt_user_client_ui_TextBoxBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextBoxBase', 320), Lcom_google_gwt_user_client_ui_TextBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextBox', 319), Lcom_google_gwt_user_client_ui_PasswordTextBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PasswordTextBox', 318), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment', 338, values_7), _3Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment;', 448), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$1_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$1', 339, null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$2_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$2', 340, null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$3_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$3', 341, null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$4_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$4', 342, null), Lcom_google_gwt_i18n_client_AutoDirectionHandler_2_classLit = createForClass('com.google.gwt.i18n.client.', 'AutoDirectionHandler', 195), Lcom_google_gwt_user_client_ui_ButtonBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ButtonBase', 273), Lcom_google_gwt_user_client_ui_Button_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Button', 272), Lcom_google_gwt_user_client_ui_CellPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CellPanel', 275), Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'VerticalPanel', 343), Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasVerticalAlignment$VerticalAlignmentConstant', 296), Lcom_google_gwt_core_client_impl_StackTraceCreator$Collector_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StackTraceCreator$Collector', 98), Lcom_google_gwt_core_client_impl_StringBufferImplAppend_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImplAppend', 100), Lcom_google_gwt_core_client_Duration_2_classLit = createForClass('com.google.gwt.core.client.', 'Duration', 81), Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl', 93), Lcom_google_gwt_core_client_impl_SchedulerImpl$Flusher_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$Flusher', 94), Lcom_google_gwt_core_client_impl_SchedulerImpl$Rescuer_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$Rescuer', 95), Lcom_google_gwt_storage_client_Storage_2_classLit = createForClass('com.google.gwt.storage.client.', 'Storage', 235), Lcom_google_gwt_storage_client_Storage$StorageSupportDetector_2_classLit = createForClass('com.google.gwt.storage.client.', 'Storage$StorageSupportDetector', 236), Lcom_google_gwt_json_client_JSONValue_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONValue', 199), Lcom_google_gwt_json_client_JSONArray_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONArray', 198), Lcom_google_gwt_json_client_JSONNumber_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONNumber', 203), Lcom_google_gwt_json_client_JSONString_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONString', 206), Lcom_google_gwt_json_client_JSONObject_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONObject', 204), Ljava_util_AbstractList_2_classLit = createForClass('java.util.', 'AbstractList', 388), Ljava_util_ArrayList_2_classLit = createForClass('java.util.', 'ArrayList', 393), Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util.', 'AbstractList$IteratorImpl', 389), Ljava_util_AbstractList$ListIteratorImpl_2_classLit = createForClass('java.util.', 'AbstractList$ListIteratorImpl', 390), Lcom_google_gwt_user_client_BaseListenerWrapper_2_classLit = createForClass('com.google.gwt.user.client.', 'BaseListenerWrapper', 242), Lcom_google_gwt_user_client_Window$ClosingEvent_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$ClosingEvent', 250), Lcom_google_gwt_event_shared_HandlerManager_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager', 176), Lcom_google_gwt_user_client_Window$WindowHandlers_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$WindowHandlers', 251), Lcom_google_web_bindery_event_shared_SimpleEventBus_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus', 178), Lcom_google_gwt_event_shared_HandlerManager$Bus_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager$Bus', 177), Lcom_google_web_bindery_event_shared_SimpleEventBus$1_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus$1', 355), Lcom_google_web_bindery_event_shared_SimpleEventBus$2_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus$2', 356), Lcom_google_web_bindery_event_shared_SimpleEventBus$3_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus$3', 357), Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang.', 'IllegalStateException', 366), Lcom_google_gwt_user_client_ui_AbstractImagePrototype_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AbstractImagePrototype', 268), Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang.', 'IndexOutOfBoundsException', 367), Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection', 344), _3Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'Widget;', 449), Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection$WidgetIterator', 345), Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang.', 'UnsupportedOperationException', 378), Lcom_google_gwt_event_shared_LegacyHandlerWrapper_2_classLit = createForClass('com.google.gwt.event.shared.', 'LegacyHandlerWrapper', 179), Lcom_google_gwt_layout_client_LayoutImpl_2_classLit = createForClass('com.google.gwt.layout.client.', 'LayoutImpl', 219), _3Ljava_lang_Boolean_2_classLit = createForArray('[Ljava.lang.', 'Boolean;', 450), Lcom_google_gwt_user_client_impl_DOMImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'DOMImpl', 252), Lcom_google_gwt_user_client_impl_DOMImpl$1_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'DOMImpl$1', 253), Lcom_google_gwt_user_client_impl_DOMImplTrident_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'DOMImplTrident', 255), Lcom_google_gwt_user_client_impl_DOMImplIE8_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'DOMImplIE8', 254), Ljava_lang_StringBuffer_2_classLit = createForClass('java.lang.', 'StringBuffer', 376), Lcom_google_gwt_user_client_ui_impl_ClippedImagePrototype_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'ClippedImagePrototype', 348), Lcom_google_gwt_event_dom_client_DomEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent', 158), Lcom_google_gwt_event_dom_client_BlurEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'BlurEvent', 157), Lcom_google_gwt_event_dom_client_DomEvent$Type_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent$Type', 164), Lcom_google_gwt_user_client_ui_HTMLTable_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable', 288), Lcom_google_gwt_user_client_ui_Grid_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Grid', 287), Lcom_google_gwt_user_client_ui_HTMLTable$CellFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$CellFormatter', 290), Lcom_google_gwt_user_client_ui_HTMLTable$ColumnFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$ColumnFormatter', 291), Lcom_google_gwt_user_client_ui_HTMLTable$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$1', 289), Lcom_google_gwt_user_client_ui_Image_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image', 298), Lcom_google_gwt_user_client_ui_Image$State_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$State', 299), Lcom_google_gwt_user_client_ui_Image$UnclippedState_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$UnclippedState', 301), Lcom_google_gwt_user_client_ui_Image$State$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$State$1', 300), Lcom_google_gwt_http_client_RequestBuilder_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder', 187), Lcom_google_gwt_http_client_RequestBuilder$Method_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder$Method', 189), Lcom_google_gwt_http_client_RequestBuilder$1_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestBuilder$1', 188), Lcom_google_gwt_http_client_RequestException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestException', 190), Lcom_google_gwt_http_client_Request_2_classLit = createForClass('com.google.gwt.http.client.', 'Request', 183), Lcom_google_gwt_http_client_Response_2_classLit = createForClass('com.google.gwt.http.client.', 'Response', 186), Lcom_google_gwt_http_client_ResponseImpl_2_classLit = createForClass('com.google.gwt.http.client.', 'ResponseImpl', 185), Lcom_google_gwt_http_client_Request$RequestImplIE6To9$1_2_classLit = createForClass('com.google.gwt.http.client.', 'Request$RequestImplIE6To9$1', 184), Lcom_google_gwt_user_client_ui_DirectionalTextHelper_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DirectionalTextHelper', 285), Lcom_google_gwt_event_dom_client_HumanInputEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'HumanInputEvent', 163), Lcom_google_gwt_event_dom_client_MouseEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseEvent', 162), Lcom_google_gwt_event_dom_client_ClickEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'ClickEvent', 161), Lcom_google_gwt_event_logical_shared_ResizeEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'ResizeEvent', 171), Lcom_google_gwt_json_client_JSONException_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONException', 201), Lcom_google_gwt_layout_client_LayoutImplIE8_2_classLit = createForClass('com.google.gwt.layout.client.', 'LayoutImplIE8', 220), Ljava_util_MapEntryImpl_2_classLit = createForClass('java.util.', 'MapEntryImpl', 398), Lcom_google_gwt_user_client_impl_WindowImplIE$1_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'WindowImplIE$1', 261), Lcom_google_gwt_user_client_impl_WindowImplIE$2_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'WindowImplIE$2', 262), Lcom_google_gwt_event_logical_shared_CloseEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'CloseEvent', 170), Lcom_google_gwt_aria_client_RoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RoleImpl', 13), Lcom_google_gwt_aria_client_AlertdialogRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'AlertdialogRoleImpl', 14), Lcom_google_gwt_aria_client_AlertRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'AlertRoleImpl', 12), Lcom_google_gwt_aria_client_ApplicationRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ApplicationRoleImpl', 15), Lcom_google_gwt_aria_client_ArticleRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ArticleRoleImpl', 18), Lcom_google_gwt_aria_client_BannerRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'BannerRoleImpl', 19), Lcom_google_gwt_aria_client_ButtonRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ButtonRoleImpl', 20), Lcom_google_gwt_aria_client_CheckboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'CheckboxRoleImpl', 21), Lcom_google_gwt_aria_client_ColumnheaderRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ColumnheaderRoleImpl', 22), Lcom_google_gwt_aria_client_ComboboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ComboboxRoleImpl', 23), Lcom_google_gwt_aria_client_Id_2_classLit = createForClass('com.google.gwt.aria.client.', 'Id', 35), _3Lcom_google_gwt_aria_client_Id_2_classLit = createForArray('[Lcom.google.gwt.aria.client.', 'Id;', 451), Lcom_google_gwt_aria_client_ComplementaryRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ComplementaryRoleImpl', 24), Lcom_google_gwt_aria_client_ContentinfoRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ContentinfoRoleImpl', 25), Lcom_google_gwt_aria_client_DefinitionRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DefinitionRoleImpl', 26), Lcom_google_gwt_aria_client_DialogRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DialogRoleImpl', 27), Lcom_google_gwt_aria_client_DirectoryRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DirectoryRoleImpl', 28), Lcom_google_gwt_aria_client_DocumentRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DocumentRoleImpl', 29), Lcom_google_gwt_aria_client_FormRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'FormRoleImpl', 30), Lcom_google_gwt_aria_client_GridcellRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'GridcellRoleImpl', 32), Lcom_google_gwt_aria_client_GridRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'GridRoleImpl', 31), Lcom_google_gwt_aria_client_GroupRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'GroupRoleImpl', 33), Lcom_google_gwt_aria_client_HeadingRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'HeadingRoleImpl', 34), Lcom_google_gwt_aria_client_ImgRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ImgRoleImpl', 36), Lcom_google_gwt_aria_client_LinkRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'LinkRoleImpl', 37), Lcom_google_gwt_aria_client_ListboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ListboxRoleImpl', 39), Lcom_google_gwt_aria_client_ListitemRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ListitemRoleImpl', 40), Lcom_google_gwt_aria_client_ListRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ListRoleImpl', 38), Lcom_google_gwt_aria_client_LogRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'LogRoleImpl', 41), Lcom_google_gwt_aria_client_MainRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MainRoleImpl', 42), Lcom_google_gwt_aria_client_MarqueeRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MarqueeRoleImpl', 43), Lcom_google_gwt_aria_client_MathRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MathRoleImpl', 44), Lcom_google_gwt_aria_client_MenubarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenubarRoleImpl', 46), Lcom_google_gwt_aria_client_MenuitemcheckboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuitemcheckboxRoleImpl', 48), Lcom_google_gwt_aria_client_MenuitemradioRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuitemradioRoleImpl', 49), Lcom_google_gwt_aria_client_MenuitemRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuitemRoleImpl', 47), Lcom_google_gwt_aria_client_MenuRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuRoleImpl', 45), Lcom_google_gwt_aria_client_NavigationRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'NavigationRoleImpl', 50), Lcom_google_gwt_aria_client_NoteRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'NoteRoleImpl', 51), Lcom_google_gwt_aria_client_OptionRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'OptionRoleImpl', 52), Lcom_google_gwt_aria_client_PresentationRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'PresentationRoleImpl', 53), Lcom_google_gwt_aria_client_ProgressbarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ProgressbarRoleImpl', 55), Lcom_google_gwt_aria_client_RadiogroupRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RadiogroupRoleImpl', 58), Lcom_google_gwt_aria_client_RadioRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RadioRoleImpl', 57), Lcom_google_gwt_aria_client_RegionRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RegionRoleImpl', 59), Lcom_google_gwt_aria_client_RowgroupRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RowgroupRoleImpl', 62), Lcom_google_gwt_aria_client_RowheaderRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RowheaderRoleImpl', 63), Lcom_google_gwt_aria_client_RowRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RowRoleImpl', 61), Lcom_google_gwt_aria_client_ScrollbarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ScrollbarRoleImpl', 64), Lcom_google_gwt_aria_client_SearchRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SearchRoleImpl', 65), Lcom_google_gwt_aria_client_SeparatorRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SeparatorRoleImpl', 66), Lcom_google_gwt_aria_client_SliderRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SliderRoleImpl', 67), Lcom_google_gwt_aria_client_SpinbuttonRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SpinbuttonRoleImpl', 68), Lcom_google_gwt_aria_client_StatusRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'StatusRoleImpl', 70), Lcom_google_gwt_aria_client_TablistRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TablistRoleImpl', 72), Lcom_google_gwt_aria_client_TabpanelRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TabpanelRoleImpl', 73), Lcom_google_gwt_aria_client_TabRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TabRoleImpl', 71), Lcom_google_gwt_aria_client_TextboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TextboxRoleImpl', 74), Lcom_google_gwt_aria_client_TimerRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TimerRoleImpl', 75), Lcom_google_gwt_aria_client_ToolbarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ToolbarRoleImpl', 76), Lcom_google_gwt_aria_client_TooltipRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TooltipRoleImpl', 77), Lcom_google_gwt_aria_client_TreegridRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TreegridRoleImpl', 79), Lcom_google_gwt_aria_client_TreeitemRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TreeitemRoleImpl', 80), Lcom_google_gwt_aria_client_TreeRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TreeRoleImpl', 78), Lcom_google_gwt_text_shared_AbstractRenderer_2_classLit = createForClass('com.google.gwt.text.shared.', 'AbstractRenderer', 239), Lcom_google_gwt_text_shared_testing_PassthroughRenderer_2_classLit = createForClass('com.google.gwt.text.shared.testing.', 'PassthroughRenderer', 241), Lcom_google_gwt_text_shared_testing_PassthroughParser_2_classLit = createForClass('com.google.gwt.text.shared.testing.', 'PassthroughParser', 240), Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util.', 'NoSuchElementException', 399), Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImpl', 258), Lcom_google_gwt_json_client_JSONBoolean_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONBoolean', 200), Lcom_google_gwt_json_client_JSONNull_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONNull', 202), Lcom_google_gwt_aria_client_Attribute_2_classLit = createForClass('com.google.gwt.aria.client.', 'Attribute', 17), Lcom_google_gwt_resources_client_impl_ImageResourcePrototype_2_classLit = createForClass('com.google.gwt.resources.client.impl.', 'ImageResourcePrototype', 226), Lcom_google_gwt_event_dom_client_PrivateMap_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'PrivateMap', 167), Lcom_google_gwt_user_client_impl_ElementMapperImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'ElementMapperImpl', 256), Lcom_google_gwt_user_client_impl_ElementMapperImpl$FreeNode_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'ElementMapperImpl$FreeNode', 257), Lcom_google_gwt_safehtml_shared_SafeUriString_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'SafeUriString', 233), Lcom_google_gwt_http_client_RequestPermissionException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestPermissionException', 191), Lcom_google_gwt_event_logical_shared_ValueChangeEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'ValueChangeEvent', 173), Lmhcs_client_gui_TenDayAlert_2_classLit = createForClass('mhcs.client.gui.', 'TenDayAlert', 417), Lmhcs_client_gui_TenDayAlert$1_2_classLit = createForClass('mhcs.client.gui.', 'TenDayAlert$1', 418), Lmhcs_client_gui_TenDayAlert$1$1_2_classLit = createForClass('mhcs.client.gui.', 'TenDayAlert$1$1', 419), Lmhcs_client_gui_TenDayAlert$2_2_classLit = createForClass('mhcs.client.gui.', 'TenDayAlert$2', 420), Lmhcs_client_gui_AddModulePopup_2_classLit = createForClass('mhcs.client.gui.', 'AddModulePopup', 412), Lmhcs_client_gui_AddModulePopup$1_2_classLit = createForClass('mhcs.client.gui.', 'AddModulePopup$1', 413), Lmhcs_client_gui_AddModulePopup$2_2_classLit = createForClass('mhcs.client.gui.', 'AddModulePopup$2', 414), _3_3Lmhcs_client_module_Module$Type_2_classLit = createForArray('[[Lmhcs.client.module.', 'Module$Type;', 452), Lmhcs_client_moduleConfigurations_ModuleConfiguration_2_classLit = createForClass('mhcs.client.moduleConfigurations.', 'ModuleConfiguration', 425), Lmhcs_client_moduleConfigurations_ModuleConfiguration$Coordinates_2_classLit = createForClass('mhcs.client.moduleConfigurations.', 'ModuleConfiguration$Coordinates', 426), Lcom_google_gwt_aria_client_PrimitiveValueAttribute_2_classLit = createForClass('com.google.gwt.aria.client.', 'PrimitiveValueAttribute', 54), Lcom_google_gwt_aria_client_AriaValueAttribute_2_classLit = createForClass('com.google.gwt.aria.client.', 'AriaValueAttribute', 16), Lcom_google_gwt_safecss_shared_SafeStylesBuilder_2_classLit = createForClass('com.google.gwt.safecss.shared.', 'SafeStylesBuilder', 227), Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalPanel', 297), Lcom_google_gwt_user_client_ui_ListBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ListBox', 306), Lcom_google_gwt_user_client_ui_impl_ClippedImageImpl_1TemplateImpl_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'ClippedImageImpl_TemplateImpl', 347), Lcom_google_gwt_safecss_shared_SafeStylesString_2_classLit = createForClass('com.google.gwt.safecss.shared.', 'SafeStylesString', 228), Lcom_google_gwt_animation_client_AnimationSchedulerImpl_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImpl', 7), Lcom_google_gwt_http_client_RequestTimeoutException_2_classLit = createForClass('com.google.gwt.http.client.', 'RequestTimeoutException', 192), Lcom_google_gwt_resources_client_CommonResources_1Bundle_1ie8_1default_1InlineClientBundleGenerator_2_classLit = createForClass('com.google.gwt.resources.client.', 'CommonResources_Bundle_ie8_default_InlineClientBundleGenerator', 223), Lcom_google_gwt_resources_client_CommonResources_1Bundle_1ie8_1default_1InlineClientBundleGenerator$1_2_classLit = createForClass('com.google.gwt.resources.client.', 'CommonResources_Bundle_ie8_default_InlineClientBundleGenerator$1', 224), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer', 8), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$AnimationHandleImpl', 11), _3Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit = createForArray('[Lcom.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$AnimationHandleImpl;', 453), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$1_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$1', 9), Lcom_google_gwt_safehtml_shared_OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml', 230), Lcom_google_gwt_safehtml_shared_SafeHtmlString_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'SafeHtmlString', 231), Ljava_util_Collections$EmptyList_2_classLit = createForClass('java.util.', 'Collections$EmptyList', 395), Lcom_google_gwt_user_client_ui_ListenerWrapper_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ListenerWrapper', 307), Lcom_google_gwt_user_client_ui_ListenerWrapper$WrappedPopupListener_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ListenerWrapper$WrappedPopupListener', 308), Ljava_lang_NumberFormatException_2_classLit = createForClass('java.lang.', 'NumberFormatException', 373), Lcom_google_gwt_user_client_ui_DecoratorPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DecoratorPanel', 284), Lcom_google_gwt_dom_client_StyleInjector$1_2_classLit = createForClass('com.google.gwt.dom.client.', 'StyleInjector$1', 154);
$stats && $stats({moduleName:'marshabitatconfigurationsystem',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});
if ($wnd.marshabitatconfigurationsystem) $wnd.marshabitatconfigurationsystem.onScriptLoad();
--></script></body></html>
